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 Class Cancelled |
Nov 5 |
Nov 6 LEC 15: File Systems Read: textbook-1 textbook-2 |
Nov 7 | Nov 8 |
Nov 11 TUT 4-2: Copy-on-Write Fork, Preemptive Multitasking, and Inter-Process Communication |
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 16: Crash Consistency Read: textbook-1 textbook-2 |
Nov 19 |
Nov 20 Quiz 3 Review LEC 17: Virtual Machines Read: textbook-1 |
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) |