Schedule

The schedule will change as the course progresses, in part based on student interests. If you are particularly interested in some topic not covered here, send an email to the instructor.

Monday Tuesday Wednesday Thursday Friday
Aug 19 Aug 20 Aug 21
LEC 1: Course Introduction
TUT 1-1: Lab Setup, Tools and Debugging
Read: textbook-1
Aug 22 Aug 23
Aug 26
LEC 2: Booting
Aug 27 Aug 28
LEC 3: Memory and Address Space
Read: x86 Address Translation
Read: textbook-1 textbook-2 textbook-3
Aug 29 Aug 30
Sep 2
Labor Day
Sep 3 Sep 4
TUT 0-1: Systems Programming for the Labs
TUT 1-2: Booting Process and Calling Convention
Read: at&t_asm GDB tutorial-1 tutorial-2 cheat-sheet
Sep 5 Sep 6
Sep 9
LEC 4: Virtual Memory I
TUT 1-2: Booting Process and Calling Convention
Read: x86 Address Translation
Read: Page Table
Sep 10 Sep 11
LEC 5: Virtual Memory II
TUT 1-2: Booting Process and Calling Convention
TUT 2-1: Physical Memory Management
Read: textbook-1 textbook-2 textbook-3 textbook-4 textbook-5 textbook-6
Sep 12 Sep 13
Sep 16
LEC 6: JOS Memory Management
TUT 2-1: Physical Memory Management
TUT 2-2: Virtual Memory Management
Read: textbook-1 textbook-2 textbook-3
Sep 17 Sep 18
Quiz 1: Booting to JOS Memory Management (LEC 2-6 and TUT 1-1 to 2-2)
Sep 19 Sep 20
Sep 23
LEC 7: User/Kernel Context Switch
Sep 24 Sep 25
Quiz 1 Review
LEC 8: Handling Interrupt and Exceptions
Sep 26 Sep 27
Sep 30
LEC 8: Handling Interrupt and Exceptions
TUT 3-1: User Environment and Trap Dispatching
TUT 0-2: x86 Instruction Set
Oct 1 Oct 2
LEC 9: System Calls and Page Faults
Read: textbook-1 textbook-2 textbook-3
Oct 3 Oct 4
Oct 7
LEC 9: System Calls and Page Faults
TUT 3-2: Handling Interrupt and Exceptions
Oct 8 Oct 9
LEC 10: Multi-threading and Data Races
Read: textbook-1 textbook-2
Oct 10 Oct 11
Oct 14
LEC 11: Locks and Synchronization (Guest Lecture by Zelun Kong)
Oct 15 Oct 16
Quiz 2: User/Kernel Context Switch to Multi-threading and Data Races (LEC 7-10 and TUT 3-1 to 3-2)
Oct 17 Oct 18
Oct 21
LEC 12: Concurrency Bugs and Deadlock
Read: textbook-1
Oct 22 Oct 23
Quiz 2 Review
LEC 12: Concurrency Bugs and Deadlock
Oct 24 Oct 25
Oct 28
LEC 13: Scheduling
TUT 4-1: Multiprocessor Support and Cooperative Multitasking
Read: textbook-1
Oct 29 Nov 1
LEC 14: Disks and Device I/O
TUT 4-1: Multiprocessor Support and Cooperative Multitasking
TUT 4-2: Copy-on-Write Fork, Preemptive Multitasking, and Inter-Process Communication
Read: textbook-1 textbook-2
Oct 31 Nov 1
Nov 4
LEC 15: File Systems
Read: textbook-1 textbook-2
Nov 5 Nov 6
TUT 4-2: Copy-on-Write Fork, Preemptive Multitasking, and Inter-Process Communication
Nov 7 Nov 8
Nov 11
LEC 16: Crash Consistency
TUT 4-2: Copy-on-Write Fork, Preemptive Multitasking, and Inter-Process Communication
Read: textbook-1 textbook-2
Nov 12 Nov 13
Quiz 3: Locks and Synchronization to File Systems (LEC 11-15 and TUT 4-1 to 4-2)
Nov 14 Nov 15
Nov 18
LEC 17: Virtual Machines
Read: textbook-1
Nov 19 Nov 20
Quiz 3 Review
Nov 21 Nov 22
Nov 25
Fall Break
Nov 26
Fall Break
Nov 27
Fall Break
Nov 28
Thanksgiving Holiday
Nov 29
Thanksgiving Holiday
Dec 2
LEC 18: OS Security
Read: textbook-1 textbook-2
Dec 3 Dec 4
LEC 19: Final Course Review
Dec 5
Last Day of Classes
Dec 6
Dec 9
Final Exam Period (No Exam)
Dec 10
Final Exam Period (No Exam)
Dec 11
Final Exam Period (No Exam)
Dec 12
Final Exam Period (No Exam)
Dec 13
Final Exam Period (No Exam)