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 mail to the course staff (mailto:staff).
- Submit your answers (and questions) of each lecture via Submission web site, and post your questions to colleagues (and staffs) on Piazza.
Monday | Tuesday | Wednesday | Thursday | Friday |
Jan 11 First day of class (No class) |
Jan 12 LEC 1: Operating systems (xv6, code and book) Preparation: Watch "Perspectives on OS Foundations" (Question) Assignment: Lab 1: Booting a PC |
Jan 13 | Jan 14 TUT 1: Tools Preparation: Watch Linus's talk on git (Question) |
Jan 15 ADD DATE |
Jan 18 M.L.K, Jr. National Holiday |
Jan 19 LEC 2: Booting and x86 (minboot) Preparation: Read Appendix A/B (Question) |
Jan 20 | Jan 21 TUT 2: C and gdb Preparation: Read (Bitwise operators), (Pointers) and (Pointers to structures) (Question) Assignment: Lab 2: Memory management |
Jan 22 |
Jan 25 DUE: Lab 1 |
Jan 26 LEC 3: Shell & OS organization Preparation: Read Chapter 0, UNIX (Question) |
Jan 27 | Jan 28 TUT 3: Elephant in memory Preparation: Read "man 5 proc" (Question) |
Jan 29 |
Feb 1 | Feb 2 LEC 4: Isolation mechanisms Preparation: Read Chapter 1 (Question) |
Feb 3 | Feb 4 TUT 4: Booting on your laptop Preparation: Read (Kernel boot process) (Question) Assignment: Lab 3: User environments |
Feb 5 |
Feb 8 DUE: Lab 2 |
Feb 9 LEC 5: Virtual memory Preparation: Read Chapter 2 (Question) |
Feb 10 | Feb 11 TUT 5: The weird machine Preparation: Read about The Weird Machine (Question) |
Feb 12 |
Feb 15 DUE: Lab 3 (Part A) |
Feb 16 LEC 6: Virtual memory applications Preparation: Read Chapter 2 (Question) |
Feb 17 | Feb 18 TUT 6: Lazy allocation Preparation: Read "man 2 sbrk" (Question) Assignment: Lab 4: Preemptive multitasking |
Feb 19 |
Feb 22 DUE: Lab 3 (Part B) |
Feb 23 Quiz #1. Lab1-3, Ch 0-2, Appendix A/B |
Feb 24 | Feb 25 LEC 7: Quiz Discussion |
Feb 26 |
Feb 29 | Mar 1 LEC 8: System calls, interrupts, exceptions Preparation: Read Chapter 3 (Question) |
Mar 2 | Mar 3 LEC 9: Pre-proposal Preparation: Submit one-page pre-proposal (Question) |
Mar 4 |
Mar 7 DUE: Lab 4 (Part A) |
Mar 8 LEC 10: Multiprocessors and locking Preparation: Read Chapter 4 (Question) |
Mar 9 | Mar 10 TUT 7: Threads and Spinlocks Preparation: Read Chapter 5 (upto "Context switching", p57-60) |
Mar 11 |
Mar 14 DUE: Lab 4 (Part B) |
Mar 15 LEC 11: Processes and switching Preparation: Read Chapter 5 (upto "Sleep and wakeup") (Question) |
Mar 16 DROP DATE |
Mar 17 LEC 12: Team Proposal (slides) Assignment: Lab 5: File system and shell |
Mar 18 |
Mar 21 Spring Break |
Mar 22 Spring Break |
Mar 23 Spring Break |
Mar 24 Spring Break |
Mar 25 Spring Break |
Mar 28 DUE: Lab 4 (Part C) |
Mar 29 LEC 13: Coordination Preparation: Read Chapter 5 (Question) |
Mar 30 | Mar 31 TUT 8: Competition: a concurrent key value store Preparation: Read and understand the provided code (Question) |
Apr 1 |
Apr 4 | Apr 5 LEC 14: File systems Preparation: Read Chapter 6 (except "Logging") (Question) |
Apr 6 | Apr 7 TUT 9: fsck Preparation: Understand mkfs (Question) |
Apr 8 |
Apr 11 DUE: Lab 5 |
Apr 12 LEC 15: Crash consistency Preparation: Read Chapter 6 (Question) |
Apr 13 | Apr 14 Quiz #2. Lab4-5, Ch 3-6 |
Apr 15 |
Apr 18 | Apr 19 LEC 16: Demo Day (slides) |
Apr 20 | Apr 21 LEC 17: Demo Day (slides) |
Apr 22 DUE: Final project Last day of classes |
Apr 25 Final exam week (No final!) |
Apr 26 Final exam week (No final!) |
Apr 27 Final exam week (No final!) |
Apr 28 Final exam week (No final!) |
Apr 29 Final exam week (No final!) |
May 2 | May 3 | May 4 | May 5 | May 6 DUE: Lab6 (optional) |