| Class | Date | Day | Topic | Notes | Reading | Assignment |
|---|---|---|---|---|---|---|
| 1 | Apr 14 | Thu | Course overview. History. Processes (intro.) | intro.pdf | Chapters 1-2 |   |
| 2 | Apr 19 | Tue | Processes and threads. | proc1.pdf | Chapter 4 |   |
| 3 | Apr 21 | Thu | Synchronization. | proc2.pdf |   | Assignment 1 out |
| 4 | Apr 26 | Tue | Synchronization | (see previous) |   |   |
| 5 | Apr 28 | Thu | Synchronization | proc5.pdf |   |   |
| 6 | May 3 | Tue | Memory management | mem3.pdf | Chapter 8 | Assignment 1 due |
| 7 | May 5 | Thu | Memory management | (See previous.) |   | Assignment 2 out |
| 8 | May 10 | Tue | Demand paging, thrashing, working sets. | mem4.pdf |   |   |
| 9 | May 12 | Thu | Shared virtual memory, COW. | mem5.pdf |   |   |
| 10 | May 17 | Tue | Communication with messages. Deadlocks. | proc6.pdf, proc7.pdf |   |   |
| 11 | May 19 | Thu | Scheduling. | proc8.pdf |   |   |
| 12 | May 24 | Tue | No classes |   |   | Assignment 2 due |
| 13 | May 26 | Thu | Review session |   |   |   |
| 14 | May 31 | Tue | Midterm (open book and notes) |   |   | Assignment 3 out |
|   | Jun 2 | Thu | No classes. Holiday. |   |   |   |
| 15 | Jun 7 | Tue | Mass storage devices. |   |   |   |
| 16 | Jun 9 | Thu | File structure, disk scheduling. | file2.pdf |   |   |
| 17 | Jun 14 | Tue | File structure, disk scheduling (continued). Unix filesystem. | file3.pdf |   |   |
| 18 | Jun 16 | Thu | Naming files, filesystem APIs, caching. | file4.pdf file5.pdf file6.pdf |   | Assignment 3 due |
| 19 | Jun 21 | Tue | File locking. Filesystem reliability. Transactions. | file7.pdf |   | Assignment 4 out |
|   | Jun 23 | Thu | No classes. Holiday. |   |   |   |
| 20 | Jun 28 | Tue | Advanced topic: Virtualization | proc9.pdf |   |   |
| 21 | Jun 30 | Thu | Advanced topic: multi-core scalability | proc56.pdf proc55.pdf |   |   |
| 22 | Jul 5 | Tue | Advanced topic: Distributed Systems | distsys.pdf |   |   |
| 23 | Jul 7 | Thu | Distributed Systems (cont.) |   |   | Assignment 4 due |
| 24 | Jul 12 | Tue | Advanced topic: OS architecture for multi-core | paper |   |   |
| 25 | Jul 14 | Thu | Review session |   |   |   |
| 25 | Jul 19 | Tue | Term end exam (open book and notes) |   |   |   |
|   | Oct 17 | Thu | Repeat exam (open book and notes) |   |   |   |