COMP 790: 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 unc.edu domain, although most are available elsewhere online.

Lecture videos will be in a Microsoft Stream channel here.

Date Topics Notes Required Readings Optional Readings
Thu 01/09 Introduction
Lab 1 and academic integrity homework assigned.
Slides. Printer friendly slides. Video.
Part 1: Essential hardware abstractions
Tue 01/14 x86 memory protection and translation
Slides. Printer friendly slides. Video.
  1. Chapter 3 of "Understanding the Linux Kernel."
  2. Vx32: Lightweight, User-level Sandboxing on the x86 (Ford and Cox, USENIX 2008).
Thu 01/16 JOS Overview and Hacking Day
Academic Honesty HW due.
Tue 01/21 Interrupts and system calls
Slides Printer Friendly Slides Chapter 4 of "Understanding the Linux Kernel."
Wed 01/22
Lab 1 Due. 11:59PM.
Part 2: Memory Management
Thu 01/23 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 01/28 Memory allocators
Slides. Printer friendly slides. Hoard: A Scalable Memory Allocator for Multithreaded Applications (Berger, McKinley, Blumofe, and Wilson, ASPLOS 2000)
  1. Chapter 8 of "Understanding the Linux Kernel."
  2. Scalable memory allocation using jemalloc
Thu 01/30 The Page Cache
Slides. Printer friendly slides. Chapter 15 of "Understanding the Linux Kernel."
Tue 02/04 Page Frame Reclaiming Algorithm
Slides. Printer friendly slides. Video Video. Chapter 17 of "Understanding the Linux Kernel."
Part 3: Scheduling
Thu 02/06 Linux scheduler (1)
Slides. Printer friendly slides. Video Video. Chapter 7 of "Understanding the Linux Kernel."
Fri 02/07
Lab 2 Due. 11:59PM.
Tue 02/11 Linux scheduler (2)
Slides. Printer friendly slides. Video.
  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).
Part 4: Synchronization
Thu 02/13 Signals and Inter-Process Communication (IPC)
Slides. Printer friendly slides. Video.
  1. Chapters 11 and 19 of "Understanding the Linux Kernel."
  2. Delivering Signals for Fun and Profit (Zalewski, 2001)
  3. Framing Signals -- A Return to Portable Exploits. (Bosman and Bos, IEEE Security & Privacy 2014)
Fri 02/14
Lab 3a Due. (Advisory deadline).
Tue 02/18 Threading
Slides. Printer friendly slides.Video. The Native POSIX Thread Library for Linux (Drepper and Molnar, 2005)
  1. Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism (Anderson, Bershad, Lazowska, and Levy, SOSP 1991)
  2. Fuss, Futexes and Furwocks: Fast Userlevel Locking in Linux (Franke, Russel, and Kirkwood, OLS 2002)
Thu 02/20 Linux kernel synchronization
Slides. Printer friendly slides. Video Chapter 5 of "Understanding the Linux Kernel."
Fri 02/21
Lab 3 Due. 11:59PM
Tue 02/25 Memory consistency
Slides. Printer friendly slides. Video Shared Memory Consistency Models: A Tutorial (Adve and Gharachorloo, Computer 1996)
Thu 02/27 Read-copy update (RCU)
Slides. Printer friendly slides. Video Using RCU in the Linux 2.5 Kernel (McKenney, Linux Journal 2003)
Fri 02/28
Lab 4a Due. (Advisory Deadline)
Tue 03/03 Review Day
Thu 03/05 Midterm
Fri 03/06
Lab 4b Due. (Advisory Deadline)
Tue 03/10 Spring Recess, Class Canceled
Thu 03/12 Spring Recess, Class Canceled
Tue 03/17 Spring Recess, Class Canceled
Thu 03/19 Spring Recess, Class Canceled
Part 5: File Systems
Tue 03/24 Block devices and physical media scheduling
Slides. Printer friendly slides. Video.
  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 03/26 The Linux VFS (1)
Slides. Printer friendly slides. Video. Chapter 12 of "Understanding the Linux Kernel."
Fri 03/27 The Linux VFS (2)
Make-up Class
Lab 4 Due. 11:59PM
Make-up class, 3pm
Slides. Printer friendly slides. Video.
Chapter 16 of "Understanding the Linux Kernel."
Tue 03/31 ext4 case study
Slides. Printer friendly slides. Video.
  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)
  1. Disk from the perspective of a file system (McKusick, CACM 2012)
  2. Chapter 18 of "Understanding the Linux Kernel."
Part 6: Networking
Thu 04/02 Programming I/O devices
Slides. Printer friendly slides. Video. Chapters 9, 12, and 15 of "Linux Device Drivers"
Fri 04/03
Lab 5 Due. 11:59PM
Tue 04/07 Networking (1)
Slides Printer friendly slides. Video. Chapters 10, 13 of "Understanding Linux Networking Internals."
Thu 04/09 Class rescheduled
Fri 04/10 Networking (2)
Make-up class Video. Eliminating Receive Livelock in an Interrupt-Driven Kernel (Mogul and Ramakrishnan, TOCS 1997).
Tue 04/14 NFS case study
Slides. Printer friendly slides. Video. Design and Implementation of the SUN Network Filesystem (Sandberg, Goldberg, Kleiman, Walsh, and Lyon, USENIX 1985).
Part 7: Security
Thu 04/16 Windows NT Access Control
Slides. Printer friendly slides. Video. Improving the Granularity of Access Control in Windows NT (Swift, Brundrett, Van Dyke, Garg, Hopkins, Chan, Goertzel, Jensenworth, SACMAT 2001)
Tue 04/21 SELinux
Slides. Printer friendly slides. Video. SELinux: NSA's Open Source Security Enhanced Linux, Bill McCarty, O'Reilly Media 2004.
Thu 04/23 Encrypted file systems
Slides. Printer friendly slides. Video. eCryptfs: a Stacked Cryptographic Filesystem (Halcrow, Linux Journal 2007)
Fri 04/24 Review Day
Make-up Class
Lab 6 Due. 11:59PM Video.
Mon 04/27 Final Exam
12:00 pm - 3:00 pm. Sitterson 115

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, The University of North Carolina at Chapel Hill


Last updated: 2020-04-25 11:30:29 -0400 [validate xhtml]