| Week of | Topics | Reading Material |
|---|---|---|
| Aug. 26 | Introduction to Operating systems; Introduction to Nachos | Ch.1; Ch.2; lecture notes; nachos links |
| Sep. 2 | Sept:2: Labor Day; No classes; Operating systems structure: Overview; Project 1 discussion | Ch.3; Prj1 handout |
| Sep. 9 | Process description, control, state transition; synchronization and communication | Ch.4 |
| Sep. 16 | Concurrency using multithreading; Nachos threads; Linux and Java threads; | Ch.5 |
| Sep. 23 | Process synchronization at various levels of granularity: semaphores, monitors, messages, locks; Classical IPC problems and solutions; Prj1 Due: Sept 26 | Ch.7 |
| Sep. 30 | Exam 1: Oct 3; Closed book; Project 2 Discussion | Ch.1-5, 7 |
| Oct. 7 | CPU scheduling: long term, short term; real-time scheduling | Ch.6 |
| Oct. 14 | Deadlock: detection; avoidance, prevention and resolution | Ch.8 |
| Oct. 21 | Memory management; Virtual memory; Prj2 Due: Oct 24; Project 3 discussion | Ch.9,10 |
| Oct. 28 | File System interface and file system implementation | Ch.11, 12 |
| Nov. 4 | Nachos discussion on Project 3 | |
| Nov. 11 | IO subsystem and mass storage | Ch.13,14 |
| Nov. 18 | Security and protection | Ch.18,19 |
| Nov. 25 | Nov. 27- Nov.29 Thanks Giving; No classes. Review of material covered after midterm | Notes |
| Dec. 2 | Distributed systems: Prj3 Due: Dec 5 | Ch.15,16,17 |