| Topic | Date | Lecture notes | Additional material | 
	 | HW/OS/App boundary
 | 7/5 | Introduction | 
	 | 7/6 | Devices and I/O | 
	 | 7/9 | Processes, isolation, context switching | List of Linux system calls | 
	 | 7/10 | Scheduling | 
	 | Synchronization | 7/11 | Synchronization | 12 Commandments of synchronization | 
	 | 7/12 | Spin locks | 
	 | 7/13 | Semaphores | Little Book of Semaphores | 
	 | 7/16 | Monitors; quiz | 
	 | 7/17 | Reader-writer locks, monitor details | 
	 | 7/18 | Deadlock | 
	 | Memory | 7/19 | Hardware support for paging | 
	 | 7/20 | Hierarchical page tables | 
	 | 7/23 | Inverted page tables; quiz | 
	 | 7/24 | Page replacement, using memory protection | 
	 | 7/25 | Clock algorithm; thrashing | 
	 | Filesystems | 7/26 | Disks and RAID | 
	 | 7/27 | Filesystem API and storage | 
 | 7/30 | Free space; review | 
	 | 7/31 | FS recovery; log-structured FS; quiz | Rosenblum and Osterhout.  The Design and Implementation of a Log-structured Filesystem | 
	 | Networking | 8/1 | Network stack; network topology | 
	 | 8/2 | End-to-end principle, Ethernet | Saltzer, Reed, and Clark.  End-to-end Arguments in System Design. | 
	 | 8/3 | Internetworking | 
	 | 8/6 | TCP | 
	 | 8/7 | Review; quiz | 
	 | 8/8 | Sockets; networking demos | 
	 | 8/9 | Naming; Secure sockets | 
	 | Security | 8/10 | Security overview | Schneider.  Introduction. | 
	 | 8/13 | Authentication and authorization | 
	 | Wrap up | 8/14 | Review | 
	 | 8/15 | Final exam |