Course Schedule
Date | Topic | Reading |
---|---|---|
Thu Jan 28 | Introduction (PDF): Introduces the course and its contents; Discusses the history of OSs. | No reading |
Tue Feb 02 | Architectural Support for Operating Systems (PDF): Interrupts and Traps; I/O and device drivers; OS Protection; OS Structure; Booting. | Ch. 1 & 2 |
Thu Feb 04 Tue Feb 09 | Processes and Threads (PDF): What is a process? What is a thread? How are they created and destroyed? How are processes and threads implemented? | Ch. 3 |
Thu Feb 11 | CPU Scheduling (PDF): How does the OS decide which user processes/threads to schedule? | Ch. 7 |
Tue Feb 16 | February Break | |
Thu Feb 18 Tue Feb 23 Thu Feb 25 Tue Mar 01 Thu Mar 03 | Synchronization (PDF): How do threads share the same memory without stepping on each others toes? How do threads coordinate their execution? Locks, spinlocks, semaphores, monitors and condition variables. | Ch. 4 & 5 The 12 Commandments of Synchronization |
Tue Mar 08 Thu Mar 10 | Deadlocks (PDF): How to prevent synchronized threads from mutually blocking each other. | Ch. 4 & 5 |
Tue Mar 15 Thu Mar 17 | Memory Management (PDF): Memory organization. Paging. Segmentation. Page Tables. TLB Management. | Ch. 8 |
Tue Mar 22 Thu Mar 24 | Virtual Memory (PDF) | Ch. 9 |
Tue Mar 29 Thu Mar 31 | Spring Break | |
Tue Apr 05 Thu Apr 07 Tue Apr 12 Thu Apr 14 Tue Apr 19 | Networking (PDF): Network organization. Ethernet. ARP. DHCP. DNS. IP. TCP. BGP. Routing overview. | Saltzer, Reed and Clark, End-to-End Arguments in System Design. |
Thu Apr 21 | Disks and RAID (PDF): Disk Organization. Disk Interface. RAID. | Ch. 12 Old Lecture Slides |
Tue Apr 26 Thu Apr 28 Tue May 03 | Files (PDF): How are filesystems implemented, what are the performance implications for various designs? Persistence, Consistency, FAT, Unix File System, Log structured filesystems (Older Slides). | Ch. 13 & 14
Old Lecture Slides Rosenblum and Ousterhout. The Design and Implementation of a Log-Structured File System. |
Thu May 05 Tue May 10 | Security (PDF): Basics of authentication, authorization and privacy management in operating systems. | |
Thu May 12 | Happy Slope Day! |