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.
New lecture videos will be posted in this Microsoft Stream channel, and with links below.
The schedule of topics is tentative, and may adjust over the course of the semester.
The final exam timeslot has not yet been set by the registrar. Please reserve availability for a potential in-person exam until more details are available.
Date | Topics | Notes | Required Readings | Optional Readings |
---|---|---|---|---|
Part 1: Operating System Overview | ||||
Tue 08/11 | Administrative and Introduction |
Slides [pdf, pptx], Video. |
|
|
Thu 08/13 | C Programming Review and Lab 0 |
Slides [pdf, pptx], Video. | ||
Tue 08/18 | Processes and OS Abstractions |
Slides [pdf, pptx], Video. Academic Integrity Homework Due. |
Chapter 4. |
|
Thu 08/20 | OS APIs |
Slides [pdf, pptx], Video. | Chapter 5. |
|
Tue 08/25 | Class Canceled for COVID |
|||
Part 2: Virtual Memory | ||||
Thu 08/27 | Interrupts and system calls |
Slides [pdf, pptx], Video. | Chapter 6. | Chapter 4 of "Understanding the Linux Kernel." |
Tue 09/01 | Address Spaces and Loading |
Slides [pdf, pptx], Video. | Chapter 13. |
|
Thu 09/03 | Virtual Memory |
Slides [pdf, pptx], Video. | Chapter 15., Chapter 16. | |
Tue 09/08 | Virtual Memory |
Slides [pdf, pptx], Video. | Chapter 18. Chapter 20. | Chapter 19. |
Wed 09/09 | Virtual Memory |
Make up for COVID; Class meets at 10 -- 11:15 am Video. | ||
Thu 09/10 | Virtual Memory |
Video. | ||
Tue 09/15 | Virtual Memory |
Video | ||
Wed 09/16 | |
Lab 0 Due. 11:59PM. | ||
Thu 09/17 | Review Day |
Video. | ||
Tue 09/22 | Exam 1 |
|||
Thu 09/24 | Memory allocators |
Slides [pdf, pptx], Video | Hoard: A Scalable Memory Allocator for Multithreaded Applications (Berger, McKinley, Blumofe, and Wilson, ASPLOS 2000) |
|
Tue 09/29 | Swapping |
Slides [pdf, pptx], Video. | Chapter 18. | |
Thu 10/01 | Swapping, Continued |
Video. | ||
Part 3: Scheduling | ||||
Tue 10/06 | CPU Scheduling |
Slides [pdf, pptx], Video. | Chapter 7. | Chapter 7 of "Understanding the Linux Kernel." |
Thu 10/08 | CPU Scheduling |
Slides [pdf, pptx], Video | Chapter 8. |
|
Fri 10/09 | |
Lab 1 Due. 11:59PM. | ||
Part 4: Threads and Synchronization | ||||
Tue 10/13 | Threads |
Slides [pdf, pptx], Video. | Chapter 26. | |
Thu 10/15 | Concurrent Programming |
Slides [pdf, pptx], Video. |
|
|
Tue 10/20 | Locking |
Slides [pdf, pptx], Video. | Chapter 28. |
|
Thu 10/22 | Review Day |
Video. | ||
Fri 10/23 | |
Lab 2 Due 11:59PM | ||
Tue 10/27 | Exam 2 |
|||
Thu 10/29 | Condition Variables |
Slides [pdf, pptx], Video. | Chapter 30. |
|
Tue 11/03 | Deadlocks |
Slides [pdf, pptx], Video. | Chapter 32. | |
Part 5: File Systems | ||||
Thu 11/05 | Disk Scheduling |
Slides [pdf, pptx], Video. | Chapter 37. |
|
Tue 11/10 | File Systems Basics |
Slides [pdf, pptx], Video. | Chapter 39. | |
Thu 11/12 | File System Consistency Issues |
Slides. Printer friendly slides. Video. | Chapter 42. |
|
Tue 11/17 | Review Day |
Lab 3 and 4 Due. 11:59PM Video. |
||
Wed 11/18 | 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-04-09 20:29:59 -0400 [validate xhtml]