Lecture Notes

This section contains lecture notes for the course, as well as accompanying handouts and discussion notes. Any number of development tools can be used to compile and run the .c and .x files in this section. This course uses these files mainly as examples during lecture.

LEC # LECTURE NOTES HANDOUTS DISCUSSION NOTES
L1 Introduction (PDF) Web Server
L2 I/O Concurrency (PDF) Architecture and O/S Design (PDF)
L3 Threads (PDF) Thread Code Flash (PDF)
L4 Coordination (PDF) Examples Fast Mutual Exclusion (PDF)
L5 Event-Driven Programming (PDF) Examples Scheduler Activations (PDF)
L6 RPC (PDF) rx.x rs.c rc.c NFS (PDF)
L7 RPC Transparency (PDF) Network Objects (PDF)
L8 Address Spaces (PDF) Ivy DSM (PDF)
L9 Scheduling (PDF) Resource Containers (PDF)
L10 Disk Layout (PDF) Receive Livelock (PDF)
L11 Logging (PDF) SGI XFS (PDF)
L12 Cryptography (PDF) Cedar File System (PDF)
L13 SSL TDB (PDF)
L14 Key Management (PDF) SFS (PDF)
L15 Distributed O/S (PDF) XOM (PDF)
L16 Memory Consistency (1) (PDF) Amoeba (PDF)
L17 Memory Consistency (2) (PDF) Sprite Caching (PDF)
L18 Vector Timestamps (PDF) Treadmarks (PDF)
L19 Two-Phase Commit (PDF) Ficus (PDF)
L20 Viewstamped Replication (PDF) DDS (PDF)
L21 Viewstamped Replication (2) (PDF) Harp (PDF)
L22 Distributed Hash Tables (PDF) Frangipani (PDF)
L23 Distributed Hash Tables (2) (PDF) Scribe (PDF)