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.