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 (2nd 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 2, Thursday | Introduction | Tanenbaum 1.1-1.3 SGG chapter 1 |
| Sep 7, Tuesday | Signals and processes | Tanenbaum 2.1-2.2 SGG chapter 3, 4 |
| Sep 9, Thursday | Processes and Inter-process communication | Tanenbaum 2.1-2.2 SGG chapter 3, 4 |
| Sep 13, Tuesday | Inter-process communication and threads | Tanenbaum 2.1-2.2 SGG chapter 3, 4 |
| Sep 15, Thursday | Introduction to QEMU/Linux Assignments | Introduction to QEMU/Linux,
Tanenbaum 1.4-1.7 SGG chapter 2 |
| Sep 20, Tuesday | Synchronization principles | Tanenbaum 2.3 SGG 6.1-6.4 |
| Sep 22, Thursday | More on Synchronization | Tanenbaum 2.4 SGG 6.5-6.10 Tanenbaum chapter 3 SGG chapter 7 |
| Sep 27, Tuesday | pthreads, Deadlocks | Tanenbaum 2.5, 8.1 SGG chapter 5 |
| Sep 29, Thursday | In-Kernel Synchronization | Understanding the Linux Kernel, Chapter 5 SGG Chapter 21, Tanenbaum 10 |
| Oct 4, Tuesday | CPU Scheduling | Tanenbaum 2.5, 8.1 SGG chapter 5 |
| Oct 6, Thursday | Basic memory management | Tanenbaum 4.1-4.3 SGG chapter 8 |
| Oct 11, Tuesday | Fall break | |
| Oct 13, Thursday | More on virtual memory: case studies | Tanenbaum 4.4-4.7 SGG 9 |
| Oct 18, Tuesday | Midterm | |
| Oct 20, Thursday | Page replacement policies | Tanenbaum 5.1-5.3 SGG chapter 13 |
| Oct 25, Tuesday | I/O systems, Storage devices | Tanenbaum 5.4-5.9 SGG chapter 12 |
| Oct 27, Thursday | File system I | Tanenbaum 6.1-6.4 SGG chapter 10,11 |
Nov 1, Tuesday | File system II, consistency and reliability, solid state disks, log-structured file systems | Tanenbaum 6.1-6.4 SGG chapter 10,11 Sprite's Log-Structured File System |
| Nov 3, Thursday | Address translation and memory management (Yuxin Bai and Yanwei Song) | Virtual Memory in Contemporary Microprocessors (circa 1998) |
| Nov 8, Tuesday | Distributed File Systems, NFS, AFS, GPFS, GFS (Phyo and Tiantong) | The Google File System SGG Chapter 17 |
| Nov 10, Thursday | File Systems continued (Google File System, journaling, solid-state drives) | |
| Nov 15, Tuesday | Protection | Tanenbaum 9.6-9.7 SGG chapter 14 |
| Nov 17, Thursday | Security | Tanenbaum 9.1-9.5 SGG chapter 15 |
| Nov 22, Tuesday | OS-controlled multicore cache management, page coloring: Shibo Wang | Nov 24, Thursday | Thanksgiving |
| Nov 29, Tuesday | Operating Systems Structure, Multiprocessor OSes, Multikernel OS (Hao) | Tanenbaum 1.7/SGG 2.7, Tanenbaum 8.1, Barrelfish |
| Dec 1, Thursday | "Embedded" OSes: TinyOS (Carolyn), Smartphone OSes/Android (Yu); Robot OSes (Ian) | TinyOS,Android , ROS |
| Dec 6, Tuesday | Virtual machines: Brandon, My notes | SGG Sections 2.8, Tanenbaum Sections 1.7, 7.4 |
| Dec 8, Thursday | Singularity (software-isolated-processes): Ryan, reinforcement learning in operating systems: Iftekhar | Singularity: Rethinking the Software Stack |
| Dec 13, Tuesday | Instructional OSes (Rahman), real-time scheduling, multiprocessor scheduling, course review | SGG Section 19.4, 19.5 (real time) and Tanenbaum 8.1 (multiprocessor) |
| Dec 20, Tuesday | Final exam | 12.30 p.m., CSB 601 |