A preliminary version of lecture notes will be posted before each class.
An updated version will be posted right after each class. Suggested 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 18, Wednesday | Introduction | Tanenbaum 1.1-1.3 SGG chapter 1 |
| Jan 23, Monday | Operating system organization | Tanenbaum 1.4-1.7 SGG chapter 2-3 |
| Jan 25, Wednesday | Processes and threads | Tanenbaum 2.1-2.2 SGG chapter 4, 5 |
| Jan 30, Monday | CPU Scheduling | Tanenbaum 2.5, 8.1 SGG chapter 6 |
| Feb 1, Wednesday | Synchronization principles | Tanenbaum 2.3 SGG 7.1-7.4 |
| Feb 6, Monday | High-level synchronization and IPC | Tanenbaum 2.4 SGG 7.5-7.10 |
| Feb 8, Wednesday | Deadlocks | Tanenbaum chapter 3 SGG chapter 8 |
| Feb 13, Monday | Introduction to Nachos/Xen assignments | Introduction to Nachos Introduction to Xen |
| Feb 15, Wednesday | Basic memory management | Tanenbaum 4.1-4.3 SGG 9.1-9.4 |
| Feb 20, Monday | Paging and segmentation | Tanenbaum 4.3,4.8 SGG 9.4-9.6 |
| Feb 22, Wednesday | Virtual memory | Tanenbaum 4.4-4.7 SGG chapter 10 |
| Feb 27, Monday | More on virtual memory | Tanenbaum 4.4-4.7 SGG 10 |
| Mar 1, Wednesday | Midterm | |
| Mar 6, Monday | I/O systems | Tanenbaum 5.1-5.3 SGG chapter 13 |
| Mar 8, Wednesday | Storage devices | Tanenbaum 5.4-5.9 SGG chapter 14 Anticipatory scheduling |
| Mar 13, Monday | Spring break | |
| Mar 15, Wednesday | Spring break | |
| Mar 20, Monday | File system abstractions | Tanenbaum 6.1-6.2 SGG chapter 11 |
| Mar 22, Wednesday | Guest lecture by Prof. Michael L. Scott | |
| Mar 27, Monday | File system implementations | Tanenbaum 6.3-6.4 SGG chapter 12 |
| Mar 29, Wednesday | Security | Tanenbaum 9.1-9.5 SGG chapter 19 |
| Apr 3, Monday | Protection | Tanenbaum 9.6-9.7 SGG chapter 18 |
| Apr 5, Wednesday | Concurrent online servers | |
| Apr 10, Monday | More on server system support | |
| Apr 12, Wednesday | Micro-kernel OS | Tanenbaum 1.7 SGG appendix B |
| Apr 17, Monday | Extensible/configurable OS | |
| Apr 19, Wednesday | Multiprocessor OS | Tanenbaum 8.1 |
| Apr 24, Monday | The Linux kernel | Tanenbaum chapter 10 SGG chapter 20 |
| Apr 26, Wednesday | The Windows 2000 | Tanenbaum chapter 11 SGG chapters 21 |
| May 1, Monday | My ongoing research | |
| May 3, Wednesday | Course review |