Lecture notes are required for this course.
| Subject | Silberschatz | Three Easy Pieces | Slides |
|---|---|---|---|
| Introduction, Background and Overview | Chapters 1-2 | Intro | Slides |
| Processes, The Kernel, and System Calls | Chapters 2 (2.3, 2.4) and 3 (3.1-3.3) |
Dialogue
Processes Process API |
Slides minish.c pipesh.c redirsh.c |
| Threads | Chapter 4 | Dialogue Intro Threads | Slides |
| Synchronization | Chapters 3 (3.4.1), 6 and 7 |
Locks Lock Use CV's Semaphores Bugs Summary Dialogue |
Slides Part 1
Slides Part 2 |
| System Calls and Exceptions | Context Switch & Sys Calls | Slides | |
| Virtual Memory | Chapters 8,9 |
Address Spaces Memory API Address Translation Segmentation Free Space Mgmt Paging TLBs Smaller Page Tables Replacement/Swapping Replacement Algorithms |
Slides Part 1
Slides Part 2 |
| Scheduling | Chapter 5 | Scheduling MLFQ Multiple CPUs | Slides |
| Devices and I/O | Chapters 12 and 13 | I/O Devices Hard Disk Drives | Slides |
| File Systems | Chapters 10 and 11 (excluding 11.8, 11.9) | Files and Directories File System Implementation FSCK & Journaling |
Slides Part 1 Slides Part 2 |
| Bonus: Debugging | Slides |
Note: The columns "Silberschatz" and "Three Easy Pieces" in the table above refer to chapters from the suggested textbooks.