| Date |
Lecture |
Readings |
Suggested Exercises |
| 9/10/2007 |
Course Intro (full page, 4 up) |
Required: End-to-end arguments in system design
Recommended: 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/12/2007 |
OS Structure I (full page, 4 up) |
Required: The UNIX time-sharing
system
Required: Mach: A new kernel foundation for UNIX development
(See Handouts page for additional optional readings) |
None. |
| 9/17/2007 |
OS Structure II: Exokernels, virtual machines & extensions (full page, 4 up) |
Required: Exokernel: An Operating System Architecture for Application-Level Resource Management
Recommended: Operating System Support for Virtual Machines
Recommended: Signed Kernel Modules |
|
| 9/19/2007 |
Performance Evaluation (full page, 4 up) |
Required: lmbench: an extensible micro-benchmark suite |
|
| 9/24/2007 |
Interrupts (full page, 4 up) |
Silberschatz et al. 13.2, |
|
| 9/26/2007 |
Signals (full page, 4 up) |
Section 4.7 from Design and Implementation of the FreeBSD Operating System |
|
| 10/01/2007 |
IPC(full page, 4 up) |
Kqueue: A generic and scalable event notification facility
Silberschatz et al. Sections 3.4-3.6, 21.9 |
|
| 10/03/2007 |
Multiprocessor Synchronization(full page, 4 up) |
Algorithms for Scalable Synchronization on Shared-Memory Multiprocessors (Sections 1-2, performance sections 4.1-4.3) |
|
| 10/08/2007 |
Thanksgiving - No Lecture |
|
| 10/10/2007 |
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/15/2007 |
Transactional Memory (full page, 4 up) |
TBD |
|
| 10/17/2007 |
Multiprocessor Scheduling (full page,
4 up) |
Parallel Job Scheduling: Issues and Approaches (1995)
Silberschatz et al., Section 5.4 |
|
| 10/22/2007 |
Multiprocessor Scheduling II (full
page, 4 up) |
Parallel Job Scheduling -- A Status Report (2004) |
|
| 10/24/2007 |
Term Test 1 |
|
|
| 10/29/2007 |
(tutorial time slot) Virtual Memory I (full
page, 4 up) |
A New Page Table for 64-bit Address Spaces |
|
| 10/31/2007 |
Superpages (full
page, 4 up) |
Transparent Operating System Support for Superpages |
|
| 11/05/2007 |
Page Placement (full
page, 4 up) |
Page Placement Algorithms for Large Real-Indexed Caches |
|
| 11/07/2007 |
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/12/2007 |
Time, Clocks and Event Ordering (full
page, 4 up) |
Time, Clocks and the Ordering of Events in Distributed Systems |
|
| 11/14/2007 |
Distributed Agreement Protocols (full
page, 4 up, ppt (with animations and notes)) |
The Byzantine Generals Problem |
|
| 11/19/2007 |
Fault Tolerance & Replicated State Machines (full
page, 4 up) |
Implementing Fault Tolerant Services Using the State Machine Approach: A Tutorial |
|
| 11/21/2007 |
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/26/2007 & 11/28/2007 |
Security (full page, 4 up) |
Crisis and Aftermath
The Flask Security Architecture: System Support for Diverse Security Policies |
|
| 12/03/2007 |
Future Directions (full page, 4 up) |
No readings |
|
| 12/05/2007 |
Test #2 |
|
|