| Topic |
Date | Lecture notes | Additional material |
HW/OS/App boundary |
7/6 |
Introduction |
| 7/7 |
The HW/OS/Application dance |
| 7/10 |
Linux show and tell; scheduling |
List of Linux syscalls |
| 7/11 |
Adaptive scheduler; threads |
| Synchronization |
7/12 |
Milk solution; spin locks |
12 Commandments of synchronization |
| 7/13 |
Semaphores |
Little Book of Semaphores |
| 7/14 |
Monitors |
| 7/17 |
Reader/writer locks; quiz |
| 7/18 |
Deadlock |
| Memory |
7/19 |
Hardware support for paging |
| 7/20 |
Page tables |
| 7/21 |
Inverted page tables |
| 7/24 |
Monitor review; quiz |
| 7/25 |
Page replacement, thrashing |
| Filesystems |
7/26 |
Disks and RAID |
| 7/27 |
Filesystem organization |
| 7/28 |
Filesystem Recovery |
| 7/31 |
Log structured file systems; quiz |
Rosenblum and Osterhout. The Design and Implementation of a Log-structured Filesystem |
| Networking |
8/1 |
Ethernet; network stack |
Saltzer, Reed, and Clark. End-to-end Arguments in System Design. |
| 8/2 |
Internetworking |
| 8/3 |
TCP |
| 8/4 |
TCP continued |
| 8/7 |
Networking show-and-tell; quiz |
| 8/8 |
Sockets; naming |
| 8/9 |
Secure sockets |
| Security |
8/10 |
Security overview (outline) |
Schneider. Introduction. |
| 8/11 |
Authentication and authorization (outline) |
| Wrap up |
8/14 |
Advanced topic TBD |
| 8/15 |
Review |
| 8/16 |
Final exam |