| Date |
Lecture |
Readings |
Suggested Exercises |
| 9/12/2006 |
Course Intro (full page, 4 up) |
Hints for Computer System Design |
Questions 1-29, 34-36 from OS Self Assessment
Questions 1-6, 26-31, 34,35, 42, 49-51 from Concurrency Self Assessment |
| 9/14/2006 |
OS Structure I (full page, 4 up) |
Mach: A new kernel foundation for UNIX development
(See Handouts page for additional optional readings) |
None. |
| 9/19/2006 |
OS Structure II (full page, 4 up) |
Operating System Support for Virtual Machines |
|
| 9/21/2006 |
Extensions (full page, 4 up) |
Extensibility, Safety and Performance in the SPIN operating system
Signed Kernel Modules |
|
| 9/26/2006 |
Performance Evaluation (full page, 4 up) |
lmbench: an extensible micro-benchmark suite |
|
| 9/28/2006 |
Interrupts (full page, 4 up) |
Silberschatz et al. 13.2, |
|
| 10/03/2006 |
Signals (full page, 4 up) |
|
|
| 10/05/2006 |
IPC(full page, 4 up) |
Kqueue: A generic and scalable event notification facility
Silberschatz et al. Sections 3.4-3.6, 21.9 |
|
| 10/10/2006 |
Multiprocessor Synchronization(full page, 4 up) |
Algorithms for Scalable Synchronization on Shared-Memory Multiprocessors (Sections 1-2, performance sections 4.1-4.3) |
|
| 10/12/2006 |
Avoiding Locks(full page, 4 up) |
Read-Copy Update slides from Paul McKenney's Cider Seminar
For the curious: Paul McKenney's RCU page
|
|
| 10/17/2006 |
Multiprocessor Scheduling (full page,
4 up) |
Parallel Job Scheduling: Issues and Approaches (1995)
Silberschatz et al., Section 5.4 |
|
| 10/19/2006 |
Multiprocessor Scheduling II (full
page, 4 up) |
Parallel Job Scheduling -- A Status Report (2004) |
|
| 10/24/2006 |
Virtual Memory I (full
page, 4 up)
See note on PDFs for break-even calculation. |
A New Page Table for 64-bit Address Spaces |
|
| 10/26/2006 |
Term Test 1 |
|
|
| 10/31/2006 |
Superpages (full
page, 4 up) |
Transparent Operating System Support for Superpages |
|
| 11/02/2006 |
Page Placement (full
page, 4 up) |
Page Placement Algorithms for Large Real-Indexed Caches |
|
| 11/07/2006 |
No lecture. |
|
|
| 11/09/2006 |
Software Distributed Shared Memory (full
page, 4 up) |
Distributed Shared Memory: A Survey of Issues and Algorithms
TreadMarks: Shared Memory Computing on Networks of Workstations |
|
| 11/14/2006 |
Time, Clocks and Event Ordering (full
page, 4 up) |
Time, Clocks and the Ordering of Events in Distributed Systems |
|
| 11/16/2006 |
Distributed Agreement Protocols (full
page, 4 up, ppt (with animations)) |
The Byzantine Generals Problem |
|
| 11/21/2006 |
Fault Tolerance & Replicated State Machines (full
page, 4 up) |
Implementing Fault Tolerant Services Using the State Machine Approach: A Tutorial |
|
| 11/23/2006 |
Reliable, High Performance Storage (full
page, 4 up |
Logging: Silberschatz et al., Section 11.8 - note despite the section title, it does not discuss LFS (not required, but for LFS details see The Design and Implementation of a Log-Structured File System
Soft Updates: Soft Updates: A Solution to the Metadata Update Problem in File Systems
RAID: Silberschatz et al., Section 12.7 |
|
| 11/27/2006 & 11/29/2006 |
Security (full page, 4 up) |
Crisis and Aftermath
The Flask Security Architecture: System Support for Diverse Security Policies |
|
| 12/05/2006 |
Future Directions (full page, 4 up) |
No readings |
|
| 12/07/2006 |
Test #2 |
|
|