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 |
Aug 21 First day of class (No class) |
Aug 22 LEC 1: Intro and Operating systems (xv6, code and book) Preparation: Watch "Perspectives on OS Foundations" (Question) Assignment: Lab 1: Booting a PC |
Aug 23 | Aug 24 TUT 1: Tools Preparation: Watch Linus's talk on git (Question) |
Aug 25 ADD DATE |
Aug 28 | Aug 29 LEC 2: Booting and x86 (minboot, Notes) Preparation: Read Appendix A/B (Question) |
Aug 30 | Aug 31 TUT 2: Makefiles, C, and gdb Preparation: Read (Bitwise operators), (Pointers) and (Pointers to structures), and (Makefiles) (Question) Assignment: Lab 2: Memory management |
Sep 1 |
Sep 4 Labor Day |
Sep 5 LEC 3: Shell & OS organization Preparation: Read Chapter 0, UNIX (Question) |
Sep 6 | Sep 7 TUT 3: Booting on your laptop Preparation: Read (Kernel boot process) (Question) |
Sep 8 DUE: Lab 1 |
Sep 11 | Sep 12 Class Cancelled |
Sep 13 | Sep 14 LEC 4: Isolation mechanisms Preparation: Read Chapter 1 (Question) |
Sep 15 |
Sep 18 | Sep 19 LEC 5: Virtual memory Preparation: Read Chapter 2 (Question) |
Sep 20 | Sep 21 LEC 6: Virtual memory applications Preparation: Read Chapter 2 (Question) Assignment: Lab 3: User environments |
Sep 22 |
Sep 25 | Sep 26 LEC 7: System calls, interrupts, exceptions Preparation: Read Chapter 3 (Question) |
Sep 27 | Sep 28 TUT 4: Lazy allocation Preparation: Read "man 2 sbrk" (Question) |
Sep 29 DUE: Lab 2 |
Oct 2 DUE: Final Project Pre-Proposal |
Oct 3 Quiz #1. Lab1-2, Ch 0-2, Appendix A/B |
Oct 4 | Oct 5 LEC 8: Quiz Discussion |
Oct 6 DUE: Lab 3 (Part A) |
Oct 9 Fall 2017 Student Recess |
Oct 10 Fall 2017 Student Recess |
Oct 11 | Oct 12 LEC 9: Multiprocessors and locking Preparation: Read Chapter 4 (Question) Assignment: Lab 4: Preemptive multitasking |
Oct 13 DUE: Lab 3 (Part B) |
Oct 16 | Oct 17 TUT 5: Threads and Spinlocks Preparation: Read Chapter 5 (upto "Context switching", p57-60) |
Oct 18 | Oct 19 LEC 10: Processes and switching Preparation: Read Chapter 5 (upto "Sleep and wakeup") (Question) |
Oct 20 DUE: Lab 4 (Part A) |
Oct 23 | Oct 24 LEC 11: Team Proposal (slides) (sample slides) (Sample Pre-Proposal) Assignment: Lab 5: File system and shell |
Oct 25 | Oct 26 LEC 12: Coordination (Sleep and Wakeup) Preparation: Read Chapter 5 (Question) |
Oct 27 DUE: Lab 4 (Part B) |
Oct 30 | Oct 31 TUT 6: Competition: a concurrent key value store Preparation: Read and understand the provided code (Question) |
Nov 1 | Nov 2 LEC 13: File systems Preparation: Read Chapter 6 (except "Logging") (Question) |
Nov 3 |
Nov 6 | Nov 7 TUT 7: fsck Preparation: Understand mkfs (Question) |
Nov 8 | Nov 9 LEC 14: Crash consistency Preparation: Read Chapter 6 ("Logging") (Question) |
Nov 10 DUE: Lab 4 (Part C) |
Nov 13 | Nov 14 Quiz #2. Lab 3-5, Ch 3-6 |
Nov 15 | Nov 16 LEC 15: Quiz Review Assignment: Lab 6: Network Driver |
Nov 17 DUE: Lab 5 |
Nov 20 | Nov 21 | Nov 22 Thanksgiving Student Recess |
Nov 23 Thanksgiving Student Recess |
Nov 24 Thanksgiving Student Recess |
Nov 27 DUE: Demo Day Slides |
Nov 28 LEC 16: Demo Day 1 slides |
Nov 29 | Nov 30 LEC 17: Demo Day 2 slides |
Dec 1 |
Dec 4 | Dec 5 LEC 18: Demo Day 3 slides or Bonus Topics |
Dec 6 | Dec 7 Final exam week (No final!) |
Dec 8 DUE: Final Project Writeup Final exam week (No final!) |
Dec 11 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 DUE: Lab6 (optional) |