| Date | Description |
|---|---|
| September 24 |
Introduction OSPP, Chapter 1 |
| September 26 |
The Kernel Abstraction OSPP, Chapter 2.1-2.3 |
| September 29 |
Interrupt Handling OSPP, Chapter 2.4-2.5 |
| October 1 |
Implementing System Calls OSPP, Chapter 2.6-2.10 |
| October 3 |
Concurrency OSPP, Chapter 4 |
| October 6 | Concurrency (Sunjay guest lecture) |
| October 8 |
Race Conditions OSPP, Chapter 5.1 |
| October 10 |
Locks and Condition Variables OSPP, Chapter 5.2-5.6 |
| October 13 |
Readers/Writers OSPP, Chapter 5.8 |
| October 15 |
Implementing Synchronization OSPP, Chapter 5.7 |
| October 17 |
Semaphores and CSP OSPP, Chapter 5.9 |
| October 20 |
Multicore Issues OSPP, Chapter 6.1-6.4 |
| October 22 | Multicore Issues continued |
| October 24 |
Deadlock OSPP, Chapter 6.5 |
| October 27 |
Scheduling OSPP, Chapter 7.1-7.2 |
| October 29 |
Queueing Theory OSPP, Chapter 7.5-7.7 |
| October 31 |
Address Translation OSPP, Chapter 8.1-8.3 |
| November 3 | Address Translation (continued) |
| November 5 |
Demand-Paged Virtual Memory OSPP, Chapter 9.1-9.2, 9.6-9.7 |
| November 7 |
Cache and Page Replacement OSPP, Chapter 9.3, 9.5 |
| November 12 |
Storage Technologies OSPP, Chapter 12 |
| November 14 | Assignment 3 Design Discussion |
| November 17 |
File Layout OSPP, Chapter 13 |
| November 19 | File Layout (continued) |
| November 21 |
File System Reliability OSPP, Chapter 14 |
| November 24 | Virtual Machines and High Performance I/O |
| November 26 | Security: Theory and Practice |