Week 1
- Course Introduction (Read: Chapters 1 and 2)
- Hardware Support (Read: Chapter 6)
- Tuesday: Project 0 (Nachos Jumpstart) Assigned
- Thursday: Homework #1 (Processes and Threads) Assigned
Week 2
- Processes/Tasks (Read: Chapters 4 and 5)
- Threads (Read: Chapters 26 and 27)
- Tuesday: Project 0 (Nachos Jumpstart) Due
- Tuesday: Project 1 (Threads) Assigned
Week 3
- Job (Process and Thread) Scheduling (Read: Chapters 7 and 8)
- Concurrency, Concurrency control, Critical sections, Synchronization basics (Read: Chapters 28 and 29)
- Tuesday: Homework #1 (Processes and Threads) Due
- Tuesday: Homework #2 (Concurrency, Synchronization, Scheduling, and Deadlock) Assigned
Week 4
- Condition variables and Monitors, Examples (Read: Chapter 30)
- Semaphores, Bounded buffer, Readers/Writers (Read: Chapter 31)
Week 5
- Deadlock (Read: Chapter 32)
- Slack/Review
- Tuesday: Project 1 (Threads) Due
- Tuesday: Project 2 (Multiprogramming) Assigned
Week 6
- Midterm Exam
- Virtual Memory and Paging, Overview (Read: Chapters 15, 16, and 18)
- Sunday: Homework #2 (Concurrency Synchronization, Scheduling, and Deadlock) Due
- Thursday: Homework #3 (VM, UM, and IO) Assigned
Week 7
- 2-Level Page Tables, the TLB, and More (Read: Chapters 19 and 20)
- Demand Paging, Working Sets, Thrashing, Replacement Policies (Read: Chapters 21, 22, and 23)
Week 8
- User-level Memory Management, i.e. Malloc-Free
- IO, Disk Scheduling, Buffer caching (Read: Chapters 36 and 37)
- Tuesday: Project 2 (Multiprogramming) Due
- Tuesday: Project 3 (Demand Paging) Assigned
Week 9
- File Systems, Traditional (Read: Chapters 39 and 40)
- File systems, B-Tree-based/Novel
- Tuesday: Homework #3 (VM, UM, and IO) Due
- Tuesday: Homework #4 (File Systems, Virtual Machines) Assigned
Week 10
- Virtual Machines and Hypervisors (Read: Appendix B)
- Review/Wrap-up
- Thursday: Homework #4 (File Systems, Virtual Machines) Due
- Friday: Project 3 (Demand Paging) Due
Final Exams
- Thursday, June 9th, 2016, 7:00- 9:50pm in PCYNH 109
|