This schedule is also available as an ical file that you can subscribe to.
All material covered in the lectures, labs, and required readings may appear on the exams.
Optional readings provide additional explanation of material covered in class that can be useful in preparing for the exams.
Papers are only accessible to hosts in the stonybrook.edu domain, although most are available elsewhere online.
Date | Topics | Notes | Required Readings | Optional Readings |
---|---|---|---|---|
Tue 08/26 | Introduction |
Lab 1 assigned. Slides. Printer friendly slides. |
||
Part 1: Essential hardware abstractions | ||||
Thu 08/28 | x86 memory protection and translation |
Slides. Printer friendly slides. |
|
|
Tue 09/02 | School Holiday. Class Canceled. |
|||
Thu 09/04 | Interrupts and system calls |
Slides Printer Friendly Slides | Chapter 4 of "Understanding the Linux Kernel." | |
Part 2: Memory Management | ||||
Tue 09/09 | Process Address Spaces and Binary Formats |
Slides. Printer friendly slides. |
|
|
Wed 09/10 | |
Lab 1 Due. 11:59PM. | ||
Thu 09/11 | Memory allocators |
Slides. Printer friendly slides. | Hoard: A Scalable Memory Allocator for Multithreaded Applications (Berger, McKinley, Blumofe, and Wilson, ASPLOS 2000) |
|
Tue 09/16 | The Page Cache |
Slides. Printer friendly slides. | Chapter 15 of "Understanding the Linux Kernel." | |
Wed 09/17 | |
Lab 2 Due. 11:59PM. | ||
Thu 09/18 | Page Frame Reclaiming Algorithm |
Slides. Printer friendly slides. | Chapter 17 of "Understanding the Linux Kernel." | |
Part 3: Scheduling | ||||
Mon 09/22 | |
Lab 3a Due. (Advisory deadline). | ||
Tue 09/23 | Linux scheduler (1) |
Slides. Printer friendly slides. | Chapter 7 of "Understanding the Linux Kernel." | |
Thu 09/25 | Linux scheduler (2) |
Slides. Printer friendly slides. |
|
|
Fri 09/26 | |
Lab 3 Due. 11:59PM | ||
Part 4: Synchronization | ||||
Tue 09/30 | Signals and Inter-Process Communication (IPC) |
Slides. Printer friendly slides. |
|
|
Thu 10/02 | Catch-up day |
|||
Fri 10/03 | |
Lab 4a Due. (Advisory Deadline) | ||
Tue 10/07 | Midterm |
|||
Thu 10/09 | Threading |
Slides. Printer friendly slides. | The Native POSIX Thread Library for Linux (Drepper and Molnar, 2005) | |
Fri 10/10 | |
Lab 4b Due. (Advisory Deadline) | ||
Tue 10/14 | Linux kernel synchronization |
Slides. Printer friendly slides. | Chapter 5 of "Understanding the Linux Kernel." | |
Thu 10/16 | Memory consistency |
Slides. Printer friendly slides. | Shared Memory Consistency Models: A Tutorial (Adve and Gharachorloo, Computer 1996) | |
Fri 10/17 | |
Lab 4 Due. 11:59PM | ||
Tue 10/21 | Read-copy update (RCU) |
Slides. Printer friendly slides. | Using RCU in the Linux 2.5 Kernel (McKenney, Linux Journal 2003) | |
Part 5: File Systems | ||||
Thu 10/23 | Block devices and physical media scheduling |
Final project proposals due Slides. Printer friendly slides. |
|
|
Tue 10/28 | The Linux VFS (1) |
Slides. Printer friendly slides. | Chapter 12 of "Understanding the Linux Kernel." | |
Thu 10/30 | The Linux VFS (2) |
Slides. Printer friendly slides. | Chapter 16 of "Understanding the Linux Kernel." | |
Tue 11/04 | ext4 case study |
Slides. Printer friendly slides. |
|
|
Part 6: Networking | ||||
Thu 11/06 | Programming I/O devices |
Slides. Printer friendly slides. | Chapters 9, 12, and 15 of "Linux Device Drivers" | |
Fri 11/07 | |
Lab 5 Due. 11:59PM | ||
Tue 11/11 | Networking (1) |
Slides Printer friendly slides. | Chapters 10, 13 of "Understanding Linux Networking Internals." | |
Thu 11/13 | Networking (2) |
Eliminating Receive Livelock in an Interrupt-Driven Kernel (Mogul and Ramakrishnan, TOCS 1997). | ||
Part 7: Security | ||||
Tue 11/18 | NFS case study |
Slides. Printer friendly slides. | Design and Implementation of the SUN Network Filesystem (Sandberg, Goldberg, Kleiman, Walsh, and Lyon, USENIX 1985). | |
Thu 11/20 | Windows NT Access Control |
Slides. Printer friendly slides. | Improving the Granularity of Access Control in Windows NT (Swift, Brundrett, Van Dyke, Garg, Hopkins, Chan, Goertzel, Jensenworth, SACMAT 2001) | |
Fri 11/21 | |
Lab 6 Due. 11:59PM | ||
Tue 11/25 | SELinux |
Slides. Printer friendly slides. | SELinux: NSA's Open Source Security Enhanced Linux, Bill McCarty, O'Reilly Media 2004. | |
Thu 11/27 | Thanksgiving. Class canceled. |
|||
Tue 12/02 | Encrypted file systems |
Slides. Printer friendly slides. | eCryptfs: a Stacked Cryptographic Filesystem (Halcrow, Linux Journal 2007) | |
Thu 12/04 | Review for Final |
|||
Fri 12/05 | |
Final Project Due. 11:59PM | ||
Tue 12/09 | Final Exam |
11:15 am - 1:45pm. Humanities 1006. |
Copyright Notice: These lecture notes, homeworks, and lab assignments are part of a graduate course on operating systems. You must ask me permission to use these materials. I do not grant to you the right to publish these materials for profit in any form.
Donald Porter, Stony Brook University
Last updated: 2014-12-06 19:20:14 -0500 [validate xhtml]