The lecture notes/slides are based on the textbook, research papers, and class handouts. They are meant to summarize (not replace!) the assigned readings. I may modify or replace notes before the lectures. The official version of the course is always what we cover in class.
Notes will usually, but not always, be available before the lecture.
Fundamentals:
1. Review of OS fundamentals Lectures 1, 2
2. Computer Architecture Overview Lecture 2, possibly 3
3. Extensible Kernel Architectures Lecture 3
5. Intro to Distributed Systems Chapter 1
8. Clients, Servers, and Code Migration Chapter 3
11. Distributed System Principles: Consistency & Replication, Fault Tolerance
12. Synchronization Shared Memory Systems; semaphores, classic problems
13. Synchronization Logical and Physical Clocks Chapter 6.1-6.2
14. Synchronization In Distributed Systems Chapter 6.3, 6.5
15. Election Algorithms Chapter 6.5 3/4/2008
16. Detecting Race Conditions in Multithreaded Programs
17. Introduction to File Systems: Read the paper A Fast File System for UNIX
as background
18. Distributed File Systems Part 1:
19. Distributed File Systems Part 2: