CSE 506: Schedule

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 Readings Optional Readings
Tue 08/30 Introduction
Lab 1 assigned. Slides. Printer friendly slides.
Part 1: Memory Management
Thu 09/01 x86 memory protection and translation
Slides. Printer friendly slides.
  1. Chapter 3 of "Understanding the Linux Kernel."
  2. Vx32: Lightweight, User-level Sandboxing on the x86 (Ford and Cox, USENIX 2008).
Tue 09/06 Interrupts and system calls
Lab 2 released. Slides Chapter 4 of "Understanding the Linux Kernel."
Thu 09/08 Process Address Spaces and Binary Formats
Slides. Printer friendly slides.
  1. Chapter 9 of "Understanding the Linux Kernel."
  2. The ELF Object File Format: Introduction (Youngdale, Linux Journal 1995)
  3. The ELF Object File Format by Dissection (Youngdale, Linux Journal 1995)
Tue 09/13 Memory allocators
Lab 3 released. Slides. Printer friendly slides. Hoard: A Scalable Memory Allocator for Multithreaded Applications (Berger, McKinley, Blumofe, and Wilson, ASPLOS 2000) Chapter 8 of "Understanding the Linux Kernel."
Wed 09/14
Lab 1 Due. 11:59PM.
Part 2: Scheduling
Thu 09/15 Linux scheduler (1)
Slides. Printer friendly slides. Chapter 7 of "Understanding the Linux Kernel."
Tue 09/20 Linux scheduler (2)
Slides. Printer friendly slides.
  1. The Design and Implementation of an Operating System to Support Distributed Multimedia Applications (Leslie, McAuley, Black, Roscoe, Barham, Evers, Fairbarns, and Hyden, JSAC 1997).
  2. Exploiting Unix File-System Races via Algorithmic Complexity Attacks (Cai, Gui, and Johnson, IEEE Security & Privacy 2009).
Thu 09/22 User-level scheduling
Slides. Printer friendly slides. Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism (Anderson, Bershad, Lazowska, and Levy, SOSP 1991)
Fri 09/23
Lab 2 Due. 11:59PM
Part 3: Devices
Tue 09/27 Programming I/O devices
Lab 4 released. Slides. Printer friendly slides. Chapters 9, 12, and 15 of "Linux Device Drivers"
Thu 09/29 Rosh Hashanah. Class Canceled.
Sat 10/01
Lab 3a Due. 11:59PM
Tue 10/04 Block devices and physical media scheduling
Slides. Printer friendly slides.
  1. An introduction to Disk Drive Modeling (Ruemmler and Wilkes, IEEE Computer 1994)
  2. Soft Updates: A Solution to the Metadata Update Problem in File Systems (Ganger, McKusick, Soules, and Patt, ACM TOCS 2000)
  3. Generalized File System Dependencies (Frost, Mammarella, Kohler, de los Reyes, Hovsepian, Matsuoka, and Zhang, SOSP 2007)
  4. FlashVM: Revisiting the Virtual Memory Hierarchy (Saxena and Swift, HotOS 2009)
Thu 10/06 The Page Cache
Slides. Printer friendly slides. Chapter 15 of "Understanding the Linux Kernel."
Fri 10/07
Lab 3b Due. 11:59PM
Tue 10/11 Page Frame Reclaiming Algorithm
Lab 5 released. Slides. Printer friendly slides. Chapter 17 of "Understanding the Linux Kernel."
Thu 10/13 Networking (1)
Slides Printer friendly slides. Chapters 10, 13 of "Understanding Linux Networking Internals."
Fri 10/14
Lab 4a Due. 11:59PM
Tue 10/18 Networking (2)
Eliminating Receive Livelock in an Interrupt-Driven Kernel (Mogul and Ramakrishnan, TOCS 1997).
Part 4: File Systems
Thu 10/20 The Linux VFS (1)
Slides. Printer friendly slides. Chapter 12 of "Understanding the Linux Kernel."
Fri 10/21
Lab 4b Due. 11:59PM
Tue 10/25 Midterm
Lab 6 released.
Thu 10/27 Guest lecture by Erez Zadok. The Linux VFS (2)
Fri 10/28
Lab 4c Due. 11:59PM
Tue 11/01 The Linux VFS (3)
Lab 7 released. Slides. Printer friendly slides. Chapter 16 of "Understanding the Linux Kernel."
Thu 11/03 VFS recap.
Tue 11/08 ext4 case study
Final project proposals due Slides. Printer friendly slides.
  1. EXT3, Journaling Filesystem (Tweedie, OLS 2000)
  2. The new ext4 filesystem: Current status and future plans (Mathur, Cao, Bhattacharya, Dilger, Tomas, Vivier, OLS 2007)
Chapter 18 of "Understanding the Linux Kernel."
Thu 11/10 NFS case study
Slides. Printer friendly slides. Design and Implementation of the SUN Network Filesystem (Sandberg, Goldberg, Kleiman, Walsh, and Lyon, USENIX 1985).
Fri 11/11
Lab 5 Due. 11:59PM
Part 5: Synchronization
Tue 11/15 Linux kernel synchronization
Slides. Printer friendly slides. Chapter 5 of "Understanding the Linux Kernel."
Thu 11/17 Memory consistency
Slides. Printer friendly slides. Shared Memory Consistency Models: A Tutorial (Adve and Gharachorloo, Computer 1996)
Tue 11/22 Read-copy update (RCU)
Slides. Printer friendly slides. Using RCU in the Linux 2.5 Kernel (McKenney, Linux Journal 2003)
Thu 11/24 Thanksgiving. Class canceled.
Fri 11/25
Lab 6 Due. 11:59PM
Part 6: Security
Tue 11/29 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)
Thu 12/01 SELinux
Slides. Printer friendly slides. SELinux: NSA's Open Source Security Enhanced Linux, Bill McCarty, O'Reilly Media 2004.
Tue 12/06 Encrypted file systems
Slides. Printer friendly slides. eCryptfs: a Stacked Cryptographic Filesystem (Halcrow, Linux Journal 2007)
Thu 12/08 Review for Final
Fri 12/09
Lab 7 Due. 11:59PM
Fri 12/16 Final Exam
11:15 am - 1:45pm. Javits 111.

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: Thu Dec 08 13:00:21 -0500 2011 [validate xhtml]