Course Schedule
Spring 2026 at a glance. The current week is highlighted automatically; dates are Tuesdays. Expect small shifts as we sync with campus events.
| Week | Date | Topic | Readings | Assignments |
|---|---|---|---|---|
| 1 | 01/13 | Intro to OS, OS structure, toolchains, kernel debugging, and exploring the xv6 kernel | Chapter 0 of the xv6 book |
ex1: Readiness exercise (Due: 01/20) |
| 2 | 01/20 | Isolation, system calls, kernel booting | Appendix B and Chapter 1 of the xv6 book |
hw1: Utilities and system calls (Due: 01/29) |
| 3 | 01/27 | Virtual memory and paging | Chapter 2 of the xv6 book |
ex2: Boot loading exercise (Due: 01/29) |
| 4 | 02/03 | Memory management and mmap | Chapter 2 of the xv6 book |
hw2: Page table (Due: 02/12) |
| 5 | 02/10 | Page replacement, kalloc/kfree, interrupts | Chapter 3 of the xv6 book |
hw3 (part 1): Page table deduplication (Due: 02/19) |
| 6 | 02/17 | Device drivers (keyboard, console and VGA) | Chapter 3 of the xv6 book |
hw3 (part 2): Copy-on-Write (CoW) (Due: 02/23) |
| 7 | 02/24 | Life of a process | Chapter 5 of the xv6 book |
hw4 (part 1): Console device driver (Due: 03/05) |
| 8 | 03/03 | Midterm exam1, context switch, process scheduling, and threads | Chapter 5 of the xv6 book |
hw4 (part 2): VGA device drivers (Due: 03/09) |
| 9 | 03/10 | Signals; memory barriers, and concurrency | Chapter 4 of the xv6 book |
final project proposal (Due: 03/20) |
| 10 | 03/17 | Multi-core boot, locks, deadlock, conditional variables | Chapter 4 of the xv6 book | |
| 11 | 03/24 | Spring break (no class) | ||
| 12 | 03/31 | Intro to file systems | Chapter 6 of the xv6 book | |
| 13 | 04/07 | File systems in practice | Chapter 6 of the xv6 book | |
| 14 | 04/14 | File systems failure and persistence | Chapter 6 of the xv6 book | |
| 15 | 04/21 | Midterm exam2; recent topics in OS, and review | ||
| 16 | 04/28 | Final Project Presentations |