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