Lectures

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