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