Lectures

This is a preliminary schedule, based on last year's class topics. I will update the schedule as changes are made to reflect this year's content. An updated version of any slides will be posted right after each class. Parts of the lecture slides originated from those by Gary Nutt, Andrew S. Tanenbaum, Dave O'Hallaron, Randal Bryant, and Kai Shen. Suggested readings are provided from both textbooks (3rd and 7th editions, respectively). You are only required to read one of them.
Note: The schedule is subject to change, so please check back frequently.

Date Lecture notes Readings
Sep 3, Tuesday Introduction (preferred reading) Tanenbaum 1.1-1.6, 1.8
SGG chapter 1
Sep 5, Thursday Processes, signals, and pipes Tanenbaum 2.1-2.2
SGG chapter 3
Sep 10, Tuesday System calls, Kernel mode, and Process Implementation Tanenbaum 2.1-2.2
SGG chapter 3, 4
Sep 12, Thursday Inter-process communication and threads Tanenbaum 2.1-2.2
SGG chapter 3, 4
Sep 17, Tuesday Introduction to QEMU/Linux Assignments Introduction to QEMU/Linux, Tanenbaum 1.4-1.7
SGG chapter 2
Sep 19, Thursday Synchronization principles Tanenbaum 2.3
SGG 6.1-6.4
Sep 24, Tuesday More on Synchronization Tanenbaum 2.3
SGG 6.5-6.10
Tanenbaum chapter 3
SGG chapter 7
Sep 26, Thursday Deadlocks Tanenbaum chapter 6
SGG chapter 5
Oct 1, Tuesday pthreads, In-Kernel Synchronization Understanding the Linux Kernel, Bovet and Cesati, Chapter 5
SGG Chapter 21, Tanenbaum 10
Oct 3, Thursday CPU Scheduling Tanenbaum 2.4, 8.1
SGG chapter 5
Oct 8, Tuesday Fall break
Oct 10, Thursday Basic memory management Tanenbaum 3.1-3.3, 3.7
SGG chapter 8
Oct 15, Tuesday More on virtual memory: case studies Virtual Memory in Contemporary Microprocessors (circa 1998)
Oct 17, Thursday Midterm
Oct 22, Tuesday Page replacement policies Tanenbaum 3.4-3.6
SGG 9
Oct 24, Thursday Page replacement policies Tanenbaum 3.4-3.6
SGG 9
Oct 29, Tuesday I/O systems, Storage devices Tanenbaum 5.1-5.3
SGG chapter 13
Tanenbaum 5.4-5.9
SGG chapter 12
Oct 31, Thursday File systems I Tanenbaum chapter 4
SGG chapters 10,11
Nov 5, Tuesday File systems II Tanenbaum chapter 4
SGG chapter 10,11
Nov 7, Thursday Superpages (Sharanyan), translation caches (Jacob), single address spaces, and protection (Xiaowan Dong) Translation Caches,
Single address space and protection architectures (Xiaowan Dong's slides)
Nov 12, Tuesday Protection Tanenbaum 9.1-9.7
SGG chapter 14,15
Nov 14, Thursday File systems: consistency and reliability, solid state disks, log-structured file systems Tanenbaum chapter 4
SGG chapter 10,11
Sprite's Log-Structured File System
Nov 19, Tuesday Distributed File Systems SGG Chapter 17
Nov 21, Thursday Multiprocessor OSes Tanenbaum 8.1
Nov 26, Tuesday The Google File System (student presentation), Operating Systems Structure The Google File System
Tanenbaum 1.7/SGG 2.7
SGG Appendix B
Towards Real Microkernels (Jochen Liedtke, CACM 39(9), 1996)
Nov 28, Thursday Thanksgiving
Dec 3, Tuesday Virtual machines, emerging hardware-based support for nested page tables SGG Sections 2.8, Tanenbaum Sections 1.7, 7.4
Dec 5, Thursday Real-time OSes SGG Chapter 19
Dec 10, Tuesday Security (My slides, Greg's slides) Tanenbaum 9.1-9.7
SGG chapter 14,15
Dec 12, Thursday Survey sound-bites, Wrap-up
Dec 20, Friday 12:30-3:30 Final Exam CSB 601