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.
Initially, I will post slides, notes, or videos from the last incarnation of this course (if they exist), and incrementally replace them with the versions presented in class (perhaps with fixes after class) as the semester progresses.
Papers are only accessible to hosts in the unc.edu domain, although most are available elsewhere online.
Video links are restricted to users with a cs.unc.edu youtube account. Log in with your_onyen@cs.unc.edu, using the same password you use to log into classroom. You may need to reset your password once, using https://www.cs.unc.edu/webpass/. If that doesn't work, email help@cs.unc.edu.
The schedule of topics is tentative, and may adjust over the course of the semester.
Date | Topics | Notes | Required Readings | Optional Readings |
---|---|---|---|---|
Part 1: Operating System Overview | ||||
Tue 08/21 | Administrative and Introduction |
Slides [pdf, pptx], Video. |
|
|
Thu 08/23 | C Programming Review and Lab 0 |
Slides [pdf, pptx], Video. (last year's video; this year's video was lost) | ||
Fri 08/24 | 530H Lab |
|||
Tue 08/28 | Processes and OS Abstractions |
Slides [pdf, pptx], Video. Academic Integrity Homework Due. |
Chapter 4. |
|
Wed 08/29 | |
Lab 0H Due. 11:59PM. | ||
Thu 08/30 | OS APIs |
Slides [pdf, pptx], Video. |
|
|
Fri 08/31 | 530H Lab |
Lab 0 Due. 11:59PM. | ||
Tue 09/04 | Interrupts and system calls |
Slides [pdf, pptx], Video. | Chapter 6. | Chapter 4 of "Understanding the Linux Kernel." |
Part 2: Virtual Memory | ||||
Thu 09/06 | Address Spaces and Loading |
Slides [pdf, pptx], Video. | Chapter 13. |
|
Fri 09/07 | 530H Lab |
|||
Sun 09/09 | |
Lab 1H Due. 11:59PM. | ||
Tue 09/11 | Virtual Memory |
Slides [pdf, pptx], Old Video. | Chapter 15., Chapter 16. | |
Thu 09/13 | Class Canceled |
Class canceled for Hurricane Florence | ||
Fri 09/14 | 530H Lab |
Class canceled for Hurricane Florence Guest Lecture by Ethan Miller, "Twizzler: An Operating System Designed for Non-Volatile Memory", in FB 141 | ||
Tue 09/18 | Virtual Memory |
Slides [pdf, pptx], Video. | Chapter 18. Chapter 20. | Chapter 19. |
Thu 09/20 | Virtual Memory |
Video. | ||
Fri 09/21 | 530H Lab |
|||
Tue 09/25 | Virtual Memory |
Lab 1 or 2H Due. 11:59PM. Video. |
||
Thu 09/27 | Virtual Memory |
Video | ||
Fri 09/28 | 530H Lab |
|||
Tue 10/02 | Review Day |
Video. | ||
Thu 10/04 | Exam 1 |
|||
Fri 10/05 | 530H Lab |
|||
Sat 10/06 | Memory allocators (Make-Up Lecture) |
Slides [pdf, pptx], Video | Hoard: A Scalable Memory Allocator for Multithreaded Applications (Berger, McKinley, Blumofe, and Wilson, ASPLOS 2000) |
|
Tue 10/09 | Swapping |
Guest Lecture by Don Smith. Slides [pdf, pptx], Video. |
Chapter 18. | |
Wed 10/10 | |
Lab 3H, Part A should be done (advisory deadline). 11:59PM. | ||
Thu 10/11 | Swapping, Continued |
Guest Lecture by Don Smith. Video. |
||
Fri 10/12 | Class Canceled for University Day |
|||
Part 3: Scheduling | ||||
Tue 10/16 | CPU Scheduling |
Slides [pdf, pptx], Video. | Chapter 7. | Chapter 7 of "Understanding the Linux Kernel." |
Thu 10/18 | Fall Break, No Class |
|||
Fri 10/19 | Fall Break, No Class |
Lab 4H, Part A should be done (advisory deadline). 11:59PM. | ||
Tue 10/23 | CPU Scheduling |
Lab 3H Due. 11:59PM Slides [pdf, pptx], Video |
Chapter 8. |
|
Part 4: Threads and Synchronization | ||||
Thu 10/25 | Threads |
Slides [pdf, pptx], Video. | Chapter 26. | |
Fri 10/26 | 530H Lab |
Lab 2 Due 11:59PM Lab 4H, Part B should be done (advisory deadline). 11:59PM. |
||
Tue 10/30 | Concurrent Programming |
Slides [pdf, pptx], Video. |
|
|
Thu 11/01 | Locking |
Slides [pdf, pptx], Video. | Chapter 28. |
|
Fri 11/02 | 530H Lab |
|||
Tue 11/06 | Class Canceled for Water Emergency |
|||
Thu 11/08 | Review Day |
Video. | ||
Fri 11/09 | 530H Lab |
Lab 4H, Due. 11:59PM. | ||
Tue 11/13 | Exam 2 |
|||
Thu 11/15 | Condition Variables |
Slides [pdf, pptx], Video. | Chapter 30. |
|
Fri 11/16 | 530H Lab |
|||
Tue 11/20 | Deadlocks |
Slides [pdf, pptx], Video. | Chapter 32. | |
Thu 11/22 | Thanksgiving Recess |
No class. | ||
Fri 11/23 | Thanksgiving Recess |
No class. | ||
Part 5: File Systems | ||||
Tue 11/27 | Disk Scheduling |
Slides [pdf, pptx], Last year's video (1), Last year's video (2). | Chapter 37. |
|
Thu 11/29 | File Systems Basics |
Slides [pdf, pptx], Last year's video. | Chapter 39. | |
Fri 11/30 | 530H Lab |
|||
Tue 12/04 | Review Day Video. |
|||
Wed 12/05 | |
Lab 3 or 5H, 6H Due. 11:59PM | ||
Thu 12/13 | Final Exam |
12:00 noon - 3:00pm. |
Copyright Notice: These lecture notes, homeworks, and lab assignments are part of an undergraduate 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-24 10:41:21 -0400 [validate xhtml]