A preliminary version of lecture notes will be posted before each class.
An updated version will be posted right after each class. Required readings
are provided for two alternative textbooks. Of course, you only need to
read one of them.
Note: Schedules are subject to changes, please check back frequently.
| Date | Lecture notes | Readings |
| Jan 12, Wednesday | Introduction | Tanenbaum 1.1-1.3 SGG chapter 1 |
| Jan 17, Monday | Martin Luther King Day | |
| Jan 19, Wednesday | Operating system organization | Tanenbaum 1.4-1.7 SGG chapter 2-3 |
| Jan 24, Monday | Processes and threads | Tanenbaum 2.1-2.2 SGG chapter 4, 5 |
| Jan 26, Wednesday | CPU Scheduling | Tanenbaum 2.5, 8.1 SGG chapter 6 |
| Jan 31, Monday | Synchronization principles | Tanenbaum 2.3 SGG 7.1-7.4 |
| Feb 2, Wednesday | High-level synchronization and IPC | Tanenbaum 2.4 SGG 7.5-7.10 |
| Feb 7, Monday | Deadlocks | Tanenbaum chapter 3 SGG chapter 8 |
| Feb 9, Wednesday | Introduction to Nachos/Xen assignments | Introduction to Nachos Introduction to Xen |
| Feb 14, Monday | Basic memory management | Tanenbaum 4.1-4.3 SGG 9.1-9.4 |
| Feb 16, Wednesday | Paging and segmentation | Tanenbaum 4.3,4.8 SGG 9.4-9.6 |
| Feb 21, Monday | Virtual memory | Tanenbaum 4.4-4.7 SGG chapter 10 |
| Feb 23, Wednesday | More on virtual memory | Tanenbaum 4.4-4.7 SGG 10 |
| Feb 28, Monday | Midterm | |
| Mar 2, Wednesday | I/O systems | Tanenbaum 5.1-5.3 SGG chapter 13 |
| Mar 7, Monday | Spring break | |
| Mar 9, Wednesday | Spring break | |
| Mar 14, Monday | Storage devices | Tanenbaum 5.4-5.9 SGG chapter 14 Anticipatory scheduling |
| Mar 16, Wednesday | File system abstractions | Tanenbaum 6.1-6.2 SGG chapter 11 |
| Mar 21, Monday | File system implementations | Tanenbaum 6.3-6.4 SGG chapter 12 |
| Mar 23, Wednesday | Distributed file systems | Tanenbaum 10.6.4 SGG chapter 16 |
| Mar 28, Monday | Security | Tanenbaum 9.1-9.5 SGG chapter 19 |
| Mar 30, Wednesday | Protection | Tanenbaum 9.6-9.7 SGG chapter 18 |
| Apr 4, Monday | Concurrent online servers | |
| Apr 6, Wednesday | Concurrent online servers with I/O-intensive workloads |
|
| Apr 11, Monday | Micro-kernel OS | Tanenbaum 1.7 SGG appendix B |
| Apr 13, Wednesday | Extensible/configurable OS | |
| Apr 18, Monday | Multiprocessor OS | Tanenbaum 8.1 |
| Apr 20, Wednesday | The Linux kernel | Tanenbaum chapter 10 SGG chapter 20 |
| Apr 25, Monday | The Windows 2000 | Tanenbaum chapter 11 SGG chapters 21 |
| Apr 27, Wednesday | Course review |