CSC 469F / CSC 2208F | Lecture Schedule and Notes | Fall 2007

Lectures and Schedule

Links to lecture notes and assignments/projects will be updated as the term progresses. Suggested exercises from the text are not to be handed in or graded, but are useful preparation for the exams.

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

Last modified: Sun Sept 9 22:43:09 EST 2007