1 | 09/17 Th | Introduction, OS Structure, OS Models, HW/SW interface, History | Chapter 1, 8.1.2, 10.1, 10.2 | Start lab out |
2 | 09/22 Tu | Processes and Threads | 2.1, 2.2, 5.1.5, 8.1.1 | |
| 09/22 Tu | The last day for adding courses or changing sections. | | |
3 | 09/24 Th | Concurrency Sources: hardware, interrupts. Amdahl’s Law | 2.1, 2.2, 5.1.5, 8.1.1 | Start lab in, PC lab out |
4 | 09/29 Tu | Concurrency Challenges and Control: races, mutual exclusion, critical sections, locks design and implementation | 2.3, Concurrency, | |
5 | 10/01 Th | Concurrency Challenges and Control: concurrent data structures, condvars, barriers, semaphores | 2.3 (cont.), 8.1.3, Therac | |
6 | 10/06 Tu | Concurrency Challenges and Control: deadlocks, detection, avoidance, prevention, starvation, lockfree/waitfree data structures, other languages | 6, 2.5 | |
7 | 10/08 Th | Scheduling: classic treatment | 2.4, 10.3, 8.1.4 | PC lab in, Queue lab out |
8 | 10/13 Tu | Scheduling: workload, queueing, and real-time perspectives | Workload, Queueing, Mars | |
9 | 10/15 Th | Midterm Exam Review During Q&A Session | | |
10 | 10/20 Tu | Midterm Exam | | |
11 | 10/22 Th | Virtual memory with paging and segmentation | 3.1, 3.2, 3.3, 3.7 | |
12 | 10/27 Tu | Swapping policies, Paging on x64 and Linux | 3.4-3.6, 10.4 | Queue Lab in, Paging lab out |
13 | 10/29 Th | Paging Wrapup, Security and Protection | Chapter 9, Spectre | |
14 | 11/03 Tu | Devices and drivers: principles | 5.1-5.3, 10.5 | |
15 | 11/05 Th | Devices and drivers: examples | 5.4-5.8 | |
| 11/06 Fr | Last day to drop a class. | | |
16 | 11/10 Tu | OS design principles | Chapter 12 | Paging lab in, Driver lab out |
17 | 11/12 Th | File systems: principles and issues | 4.1-4.4 | |
18 | 11/17 Tu | File systems: examples | 4.5, 10.6 | |
19 | 11/19 Th | Virtualization, containerization, the cloud, etc | Chapter 7 | |
20 | 11/24 Tu | Special Topic: Embedded OS | | Driver lab in |
Finals week | 12/03 Th | Final Exam 12-2pm | | |