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. |
|
|
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. |
|
|
Tue 01/28 | Memory allocators |
Slides. Printer friendly slides. | Hoard: A Scalable Memory Allocator for Multithreaded Applications (Berger, McKinley, Blumofe, and Wilson, ASPLOS 2000) |
|
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 | Chapter 17 of "Understanding the Linux Kernel." | |
Part 3: Scheduling | ||||
Thu 02/06 | Linux scheduler (1) |
Slides. Printer friendly slides.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. |
|
|
Part 4: Synchronization | ||||
Thu 02/13 | Signals and Inter-Process Communication (IPC) |
Slides. Printer friendly slides.Video. |
|
|
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) | |
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. |
|
|
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. |
|
|
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: 2025-03-27 11:17:13 -0400 [validate xhtml]