| Week |
Topics Covered |
Reading |
Assignments |
| 1 |
Introduction, System Calls, Processes, Threads, Interprocess Communication, Critical Section, Mutual Exclusion, Producer-Consumer, Hardware-enabled Locking, Semaphores |
Ch.1, Ch.2.1-2.4, p.864-866 | |
| 2 |
Mutexes, Monitors, Message Passing, Remote Procedure Call (RPC), Scheduling, Deadlocks | Ch.8.2.3-8.2.4, Ch.2.5, |
Programming assignment 1 |
| 3 |
Scheduling, Deadlocks |
Ch.6 | |
| 4 |
Memory Management, Swapping, Variable Partitions |
Ch.3.1, 3.2 |
|
| 5 |
Virtual Memory, Paging, Page Replacement Strategies |
Ch.3.3 | Programming assignment 2 |
| 6 |
Page Allocation, Page Size, Page Faults, Backing Store, Memory Segmentation | Ch.3.4 | |
| 7 |
File Systems |
Ch.4.1, 4.2 |
|
| 8 |
File System Implementation |
Ch. 4.3 |
|
| 9 |
Device I/O |
Ch.5.1, |
Programming assignment 3 |
| 10 |
I/O, Devices, Device Drivers, Plug-n-Play, Streams |
Ch. 5.2, 5.3 |
|
| 11 |
Disks, |
Ch. 5.4 |
|
| 12 |
Disks, Network Terminals, | Ch. 5.4, 5.7 |
|
| 13 |
OS Security Issues, |
Ch. 9 |
Programming assignment 4 |
| 14 |
Student presentation, final review |