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.
- Submit your answers (and questions) of each lecture via GitHub, and post your questions to colleagues (and staffs) on Piazza.
Monday | Tuesday | Wednesday | Thursday | Friday |
Jan 9 First day of class (No class) |
Jan 10 LEC 1: Intro and Operating systems (xv6, code and book) Preparation: Watch "Perspectives on OS Foundations" (Question) Assignment: Lab 1: Booting a PC |
Jan 11 | Jan 12 TUT 1: Tools Preparation: Watch Linus's talk on git (Question) |
Jan 13 ADD DATE |
Jan 16 Martin Luther King, Jr. Day |
Jan 17 LEC 2: Booting and x86 (minboot, Notes) Preparation: Read Appendix A/B (Question) |
Jan 18 | Jan 19 TUT 2: Makefiles, C, and gdb Preparation: Read (Bitwise operators), (Pointers) and (Pointers to structures), and (Makefiles) (Question) Assignment: Lab 2: Memory management |
Jan 20 |
Jan 23 | Jan 24 LEC 3: Shell & OS organization Preparation: Read Chapter 0, UNIX (Question) |
Jan 25 | Jan 26 TUT 3: Booting on your laptop Preparation: Read (Kernel boot process) (Question) |
Jan 27 DUE: Lab 1 |
Jan 30 | Jan 31 LEC 4: Isolation mechanisms Preparation: Read Chapter 1 (Question) |
Feb 1 | Feb 2 LEC 5: Virtual memory Preparation: Read Chapter 2 (Question) |
Feb 3 |
Feb 6 | Feb 7 LEC 6: Virtual memory applications Preparation: Read Chapter 2 (Question) |
Feb 8 | Feb 9 TUT 4: Lazy allocation Preparation: Read "man 2 sbrk" (Question) Assignment: Lab 3: User environments |
Feb 10 DUE: Lab 2 |
Feb 13 | Feb 14 LEC 7: System calls, interrupts, exceptions Preparation: Read Chapter 3 (Question) |
Feb 15 | Feb 16 Quiz #1. Lab1-2, Ch 0-2, Appendix A/B |
Feb 17 |
Feb 20 DUE: Final Project Pre-Proposal |
Feb 21 LEC 8: Quiz Discussion |
Feb 22 | Feb 23 LEC 9: Multiprocessors and locking Preparation: Read Chapter 4 (Question) |
Feb 24 DUE: Lab 3 (Part A) |
Feb 27 | Feb 28 TUT 5: Threads and Spinlocks Preparation: Read Chapter 5 (upto "Context switching", p57-60) |
Mar 1 | Mar 2 LEC 10: Processes and switching Preparation: Read Chapter 5 (upto "Sleep and wakeup") (Question) Assignment: Lab 4: Preemptive multitasking |
Mar 3 DUE: Lab 3 (Part B) |
Mar 6 | Mar 7 LEC 11: Team Proposal (slides) |
Mar 8 | Mar 9 LEC 12: Coordination (Sleep and Wakeup) Preparation: Read Chapter 5 (Question) |
Mar 10 DUE: Lab 4 (Part A) |
Mar 13 | Mar 14 TUT 6: Competition: a concurrent key value store Preparation: Read and understand the provided code (Question) Assignment: Lab 5: File system and shell |
Mar 15 DROP DATE |
Mar 16 LEC 13: File systems Preparation: Read Chapter 6 (except "Logging") (Question) |
Mar 17 DUE: Lab 4 (Part B) |
Mar 20 Spring 2017 Break |
Mar 21 Spring 2017 Break |
Mar 22 Spring 2017 Break |
Mar 23 Spring 2017 Break |
Mar 24 Spring 2017 Break |
Mar 27 | Mar 28 TUT 7: fsck Preparation: Understand mkfs (Question) DUE: Final Project Status (paragraph) |
Mar 29 | Mar 30 LEC 14: Crash consistency Preparation: Read Chapter 6 ("Logging") (Question) |
Mar 31 DUE: Lab 4 (Part C) |
Apr 3 | Apr 4 LEC 15: Scaling OSs and Quiz 2 Prep |
Apr 5 | Apr 6 Quiz #2. Lab 3-5, Ch 3-6 Assignment: Lab 6: Network Driver |
Apr 7 DUE: Lab 5 |
Apr 10 | Apr 11 LEC 16: Quiz Review |
Apr 12 | Apr 13 LEC 17: TBD |
Apr 14 |
Apr 17 DUE: Demo Day Slides |
Apr 18 LEC 18: Demo Day 1 slides |
Apr 19 | Apr 20 LEC 19: Demo Day 2 slides |
Apr 21 DUE: Final Project Writeup |
Apr 24 | Apr 25 LEC 20: Demo Day 3 slides or Bonus Topics Last day of classes |
Apr 26 | Apr 27 Final exam week (No final!) |
Apr 28 Final exam week (No final!) |
May 1 Final exam week (No final!) |
May 2 Final exam week (No final!) |
May 3 Final exam week (No final!) |
May 4 Final exam week (No final!) |
May 5 DUE: Lab6 (optional) |