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 |