Lecture Notes

Notes are available for most lectures below. For some lectures, accompanying slides are also available, but the notes cover the material in more detail.

Lectures 21-24 were given by Prof. Nickolai Zeldovich.

L1 Introduction to systems    
L2 Complexity in computer systems    
L3 Abstractions and naming (PDF)  
L4 Modularity with client/server (PDF) (PDF)
L5 Operating system structure (PDF) (PDF)
L6 Clients and servers within a computer (PDF) (PDF)
L7 Virtualizing processors: threads (PDF) (PDF)
L8 Performance (PDF)  
L9 Introduction to networks (PDF) (PDF)
L10 Layering and link layer (PDF) (PDF)
L11 Network layer, routing (PDF) (PDF)
L12 End-to-end layer (PDF) (PDF)
L13 Congestion control (PDF) (PDF)
L14 Distributed naming (PDF) (PDF)
L15 Reliability (PDF) (PDF)
L16 Atomicity concepts (PDF) (PDF)
L17 Recoverability (PDF) (PDF)
L18 Isolation (PDF)  
L19 Multi-site atomicity (PDF)  
L20 Consistency and replication (PDF)  
L21 Security intro (PDF) (PDF)
L22 Authentication (PDF) (PDF)
L23 Cryptographic protocols (PDF) (PDF)
L24 Authorization and confidentiality (PDF) (PDF)

Systems design experience

Guest lecture: Frank Dabek

L26 Complexity   (PDF)