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 | Required Readings | Optional Readings |
---|---|---|---|---|
Tue 01/29 | Administrative and Introduction |
Slides. Printer friendly slides. | ||
Part 1: Operating System Overview | ||||
Thu 01/31 | C Programming, History of Operating Systems |
Chapter 2.1--2.4 |
|
|
Tue 02/05 | x86 Assembly, Processes and OS Abstractions |
|
Chapters 3--3.2, 3.4 |
|
Thu 02/07 | Interrupts and system calls |
Slides Printer Friendly Slides | Chapter 1.4 |
|
Part 2: Program Execution | ||||
Tue 02/12 | Address Spaces and Loading |
Slides. Printer friendly slides. Academic Honesty Homework Due. |
Chapter 3.5 |
|
Thu 02/14 | OS APIs |
Slides. Printer friendly slides. |
|
|
Fri 02/15 | |
Lab 1 Due. 11:59PM. | ||
Tue 02/19 | Threads |
Slides. Printer friendly slides. | Chapters 4.1--4.2 | |
Part 3: Scheduling | ||||
Thu 02/21 | CPU Scheduling |
Slides. Printer friendly slides. | Chapter 9 | Chapter 7 of "Understanding the Linux Kernel." |
Tue 02/26 | CPU Scheduling |
Slides. Printer friendly slides. | Chapter 10 |
|
Part 4: Synchronization | ||||
Thu 02/28 | Thread programming overview |
|
Chapter 5 |
|
Tue 03/05 | Locks |
Slides. Printer friendly slides. |
|
|
Thu 03/07 | Condition Variables |
Slides. Printer friendly slides. | Coding Standards for Programming with Threads (Dahlin 2007). |
|
Tue 03/12 | Semaphores, Monitors, Reader/Writer Locks |
|
|
|
Thu 03/14 | Deadlocks |
Slides. Printer friendly slides. | Chapter 6.1--6.5 | |
Fri 03/15 | |
Lab 2 Due. 11:59PM | ||
Tue 03/19 | Spring Recess, Class Canceled |
|||
Thu 03/21 | Spring Recess, Class Canceled |
|||
Part 5: File Systems | ||||
Tue 03/26 | Disk Scheduling |
Slides. Printer friendly slides. | Chapter 11.1--11.3, 11.5--11.7 |
|
Thu 03/28 | Midterm |
|||
Tue 04/02 | File Systems Basics |
Slides. Printer friendly slides. | Chapter 12 | A Fast File System for UNIX (McKusick, Joy, Leffler, and Fabry, TOCS 1984) |
Thu 04/04 | File System Consistency Issues |
Slides. Printer friendly slides. |
|
|
Tue 04/09 | Linux Virtual File System Layer (VFS) |
Slides. Printer friendly slides. | Chapter 12, 16 and 18 of "Understanding the Linux Kernel." | |
Thu 04/11 | Network File System (NFS) |
Design and Implementation of the SUN Network Filesystem (Sandberg, Goldberg, Kleiman, Walsh, and Lyon, USENIX 1985). | ||
Mon 04/15 | |
Lab 3 Due. 11:59PM | ||
Tue 04/16 | Linux Kernel Programming |
Slides. Printer friendly slides. | ||
Thu 04/18 | Introduction to Kernel RootKits |
Slides. Printer friendly slides. | ||
Part 6: Virtual Memory | ||||
Tue 04/23 | Virtual Memory |
Slides. Printer friendly slides. | Chapter 7.1--7.4 | |
Thu 04/25 | Virtual Memory |
Slides. Printer friendly slides. | Chapter 8 | |
Tue 04/30 | Virtual Memory |
Slides. Printer friendly slides. | ||
Thu 05/02 | Virtual Memory |
|||
Part 7: Security | ||||
Tue 05/07 | Security Threats |
Slides. Printer friendly slides. | Chapter 14 | |
Thu 05/09 | Computer Security Techniques |
Chapter 15 | ||
Fri 05/10 | |
Lab 4 Due. 11:59PM | ||
Wed 05/22 | Final Exam |
11:15 am - 1:45pm. Javits 101. |
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, Stony Brook University
Last updated: 2025-04-11 20:18:39 -0400 [validate xhtml]