| Week | Date | Topic | Background reading |
|---|---|---|---|
| Week 1 | T 4/4 | Course introduction Scribe notes | Ch. 3 & 4 |
| R 4/6 | OS overview: bootstrapping & files Scribe notes | Ch. 2.2-2.3, 3.1-3.2, 6.1-6.4 | |
| Week 2 | T 4/11 | Processes & process implementation Scribe notes | Ch. 6.1-6.4 |
| R 4/13 | Processes & threads Scribe notes | Ch. 6.5-6.8 | |
| F 4/14 | Lab 1A checkpoint due | ||
| Week 3 | T 4/18 | Threads & signals Scribe notes | Ch. 7 |
| R 4/20 | Scheduling Scribe notes | Ch. 7 | |
| Week 4 | T 4/25 | Real-time scheduling, Synchronization I Scribe notes | Ch. 8 |
| R 4/27 | Building a lock & semaphores Scribe notes | Ch. 8-9 | |
| F 4/28 | Lab 1B due | ||
| Week 5 | T 5/2 | Synchronization objects Scribe notes | Ch. 9 |
| R 5/4 | Deadlock & I/O interactions Scribe notes | Ch. 10, Ch. 4 & 5 | |
| Week 6 | T 5/9 | Midterm | |
| R 5/11 | Memory allocation Scribe notes | Ch. 4.4-4.5, 11 | |
| F 5/12 | Lab 2 due | ||
| Week 7 | T 5/16 | Virtual memory I Scribe notes | Ch. 12.1-12.4 |
| R 5/18 | Virtual memory II, file systems I Scribe notes | Ch. 12.5, 12.7, 13.1-13.3, 5.5 | |
| Week 8 | T 5/23 | File systems II Scribe notes | Ch. 13.5-13.7, 5.5 |
| R 5/25 | File system consistency Scribe notes | None | |
| F 5/26 | Lab 3 due | ||
| Week 9 | T 5/30 | RAID, Distributed systems I Scribe notes | Ch. 15 (background), 17-17.3 |
| R 6/1 | Distributed systems II Scribe notes | Ch. 16 | |
| Week 10 | T 6/6 | Security I Scribe notes | |
| R 6/8 | Security II Scribe notes | ||
| F 6/9 | Lab 4 due | ||
| Finals | W 6/14 | Final, 3-6pm, Young Hall CS76 |