|
ICS lectures are in DSY (东上院)102.
The exercise lectures are in DZY (东中院)3-104/202/204/205 at 18:00~20:00 on Wednesday.
We will release the Spring 2022 assignments as the semester moves along.
Note that the contents of this calendar may be changing.
All the Homework will be released through Canvas SJTU.
LEC 1: Y86 & RISC
Preparation: Book sections 4.1
Slides: Lecture-1
LEC 1: OS & Exceptions & Processes
Preparation: Book sections 1.7, 8.1
Slides: Lecture-1
LEC 2: Logical Design & HCL
Preparation: Book sections 4.2
Slides: Lecture-2
Homework #1
Lab #4: Y86 Simulator
Course: Organization
LEC 2: Process Control
Preparation: Book sections 8.2
Slides: Lecture-2
LEC 3: SEQ Impl
Preparation: Book sections 4.3.1-4.3.3
Slides: Lecture-3
DUE: Homework #1
Homework #2
EXE 1
LEC 4: SEQ Impl II
Preparation: Book sections 4.3.4
Slides: Lecture-4
LEC 3: Fork & Wait
Preparation: Book sections 8.3, 8.4
Slides: Lecture-3
LEC 5: Pipeline
Preparation: Book sections 4.4, 4.5.1-4
Slides: Lecture-5
DUE: Homework #2
Homework #3
EXE 2
DUE: Lab #4
Lab #5: Y86 Assembler
Course: Organization
LEC 4: Signal
Preparation: Book sections 8.5
Slides: Lecture-4
LEC 6: Implementation
Preparation: Book sections 4.5.7-9
Slides: Lecture-6
DUE: Homework #3
Homework #4
EXE 3
LEC 7: Hazard
Preparation: Book sections 4.5.5-6
Slides: Lecture-7
LEC 5: Signal II
Preparation: Book sections 8.5
Slides: Lecture-5
LEC 8: Machine-Independent Optimization
Preparation: Book sections 5.1~5.6
Slides: Lecture-8
DUE: Homework #4
Homework #5
EXE 4
Lab #6: Processor
Course: Organization
LEC 6: Nonlocal Jump
Preparation: Book sections 8.6
Slides: Lecture-6
LEC 7: Unix I/O
Preparation: Book sections 10.1-4, 10.6-9
Slides: Lecture-7
LEC 9: Modern Processors
Preparation: Book sections 5.7~5.11
Slides: Lecture-9
DUE: Homework #5
Homework #6
Quiz 1
DUE: Lab #5
LEC 9 and 10
LEC 8: Robust & Standard I/O
Preparation: Book sections 10.5, 10.10-11
Slides: Lecture-8
LEC 10: Performance Tuning
Preparation: Book sections 5.12~5.14
Slides: Lecture-10
DUE: Homework #6
Homework #7
EXE 6
LEC 11: Storage: Disk & RAM
Preparation: Book sections 6.1
Slides: Lecture-11
DUE: Homework #7
Homework #8
EXE 7
DUE: Lab #6
Lab #7: Tiny Shell
Course: System Software
LEC 12: Locality
Preparation: Book sections 6.2-6.4
Slides: Lecture-12
LEC 9: Network
Preparation: Book sections 11.1-3
Slides: Lecture-9
LEC 10: Socket
Preparation: Book sections 11.4
Slides: Lecture-10
LEC 13: Cache-Friendly Code
Preparation: Book sections 6.4-6
Slides: Lecture-13
DUE: Homework #8
Homework #9
EXE 8
LEC 11: Web Server
Preparation: Book sections 11.5-11.6
Slides: Lecture-11
LEC 14: Linking
Preparation: Book sections 7.1-7.2
Slides: Lecture-14
DUE: Homework #9
Homework #10
Quiz 2
DUE: Lab #7
Lab #8: Cache
Reference: Waside Blocking
Reference: Code Style (from
CMU)
Course: Organization
LEC 15: Symbol
Preparation: Book sections 7.3-7.5
Slides: Lecture-15
LEC 12: Concurrency Programming
Preparation: Book sections 12.1-12.3
Slides: Lecture-12
LEC 16: Relocation & Loading
Preparation: Book sections 7.6-7.9
Slides: Lecture-16
DUE: Homework #10
Homework #11
EXE: Middle Exam (Organization)
LEC 13: Synchronization
Preparation: Book sections 12.4, 12.5
Slides: Lecture-13
DUE: Lab #8 (May 7)
Lab #9: Proxy
Course: System Software
LEC 17: Dynamic Linking & PIC
Preparation: Book sections 7.10-7.12
Slides: Lecture-17
LEC 14: Concurrent Issues
Preparation: Book sections 12.6, 12.7
Slides: Lecture-14
LEC 18: Dynamic Memory Allocation & Virtual Memory
Preparation: Book sections 9.9, 9.1-9.5
Slides: Lecture-18
DUE: Homework #11
Homework #12
EXE 10
LEC 15: Locks
References: Operating Systems: Three Easy Pieces (28
Locks)
Slides: Lecture-15-1
Slides: Lecture-15-2
LEC 19: Address Translation
Preparation: Book sections 9.6, 9.7.1
Slides: Lecture-19
DUE: Homework #12
Homework #13
EXE 11
DUE: Lab #9
Lab #10: Memory Allocator
Course: Organization
LEC 20: Case Study: Intel & Linux Memory
Preparation: Book sections 9.7, 9.8
Slides: Lecture-20
LEC 16: Conditional Variables
References:
Operating Systems: Three Easy Pieces (30 Condition Variables)
Slides: Lecture-16
LEC 21: Swapping: Policies
References: Operating Systems: Three Easy Pieces
(22 Swapping: Policies)
Slides: Lecture-21
DUE: Homework #13
Homework #14
EXE 12
LEC 17: CPU Scheduling
References:
Operating Systems: Three Easy Pieces (7 CPU Scheduling)
Slides: Lecture-17
LEC 22: Garbage Collection
Preparation: Book sections 9.10-11
Slides: Lecture-22
DUE: Homework #14
Review
DUE: Lab #10
Final exam week
Final exam week
Final exam week
Final exam week
Final exam week
Final exam week
Final exam week
Final exam week
Final exam week
Final exam week
ICS lectures are in SY (上院)215 on Friday 7-8.
The exercise lectures are in DXY (东下院)103/104/203/204 at 18:00~20:00 on Wednesday.
Tutorials are in the conference hall of software school at 18:00~20:00 on Wednesday.
We will release the Fall 2021 assignments as the semester moves along.
The contents of this calendar for days more than two weeks in the future may be missing or changing.
LEC 1: Introduction
Preparation: Book prefaces 7~9, and book sections 1.2, 1.4.1,
Before 1.7.1, 1.7.3, 1.8, 1.9.2
Slides: Lecture-1
TUT 1: Env Setup, Shell, Tools
Please download the preparation materials before class or bring U-disk to the class if
possible.
Install Linux VM Solution-1. Preparation: VMware
Player
Debian
Slides: Tutorial-1
Reference: Create VM (Slides)
Install Debian (Slides
Video)
Install Linux VM Solution-2. Preparation: VMware
Player
Pre-installed VM
Tasks: Shell
LEC 2: C Programming Language, Bits & Bytes
Preparation: Book sections 1.1, 2.1.1 1.2 2.1.2
2.1.6-2.1.9
Slides: Lecture-2
Homework #1 is released on OC (canvas).
Note: Handin the Homework Answer through OC.
TUT 2: APT, SVN and Toolchain
Preparation: Debian & Shell
Slides: Tutorial-2
Tasks: Tools
National Day
LEC 3: Bit-level Ops, Pointers
Preparation: Book sections 1.2, 1.7.3, 2.1.2, 2.1.6-9
Slides: Lecture-3
Canvas: Solution #1 and Homework #2.
Lab #1 (Bit-level Ops) is released.
TUT 3: Debugging
Preparation: C Programming
Slides: Tutorial-3
Tasks: Debugging
LEC 4: Logical Ops, Encodings
Preparation: Book sections 2.1.3-5, 2.2
Slides: Lecture-4
Canvas: Solution #2 and Homework #3
EXE 1
LEC 5: Arithmetic Operations
Preparation: Book sections 2.3
Slides: Lecture-5
Canvas: Solution #3 and Homework #4
LEC 6: X86 Historical Perspective, Machine Execution
Preparation: Book sections 3.1, 3.4
Slides: Lecture-6
Canvas: Solution #4 and Homework #5
DUE: Lab #1
Quiz 1
LEC 7: Data Move
Preparation: Book sections 3.4
Slides: Lecture-7
Canvas: Solution #5 and Homework #6
EXE 2
LEC 8: Control, CC
Preparation: Book sections 3.6.1-2
Slides: Lecture-8
Canvas: Solution #6 and Homework #7
TUT 4: Assembly & GDB
Preparation: Assembly
Slides: Tutorial-4
Tasks: Assembly
Reference: GDB-Ref
Lab #2 Bombing is released through SVN and the PDF can be found in
cavans.
LEC 9: Control
Preparation: Book sections 3.6.3-8
Slides: Lecture-9
Canvas: Solution #7 and Homework #8
EXE 3
LEC 10: Procedure Call
Preparation: Book sections 3.7
Slides: Lecture-10
Canvas: Solution #8 and Homework #9
Quiz 2
LEC 11: Array
Preparation: Book sections 3.8
Slides: Lecture-11
Canvas: Solution #9 and Homework #10
Lab #3 Attacking is released online and the PDF can be found in
cavans.
LEC 12: Heterogeneous DS & Alignment
Preparation: Book sections section 3.9
Slides: Lecture-12
Canvas: Solution #10 and Homework #11
DUE: Lab #2
EXE 4
Lab #2 Discussion
LEC 13: Pointer & Buffer Overflow
Preparation: Book sections 3.10
Slides: Lecture-13
To appear: Solution #11 and Homework #12
DUE: Lab #3
Online Test for Lab2 and Lab3
LEC 14: Floating Point
Preparation: Book sections 3.11
Slides: Lecture-14
LEC 15: Floating-Point Code
Preparation: Book sections 3.11
Slides: Lecture-15
To appear: Solution #12 and Homework #13 and Solution #13
Quiz 3
Answer Questions (1 hour)
LEC 16: Y86
Preparation: Book sections 4.1
Slides: Lecture-16
Final exam week
Final exam week
Final exam week
Final exam week
Final exam week
Final exam week
Final exam week
Final exam week
Final exam week
Final exam week
|