TENTATIVE CLASS SCHEDULE Part 1: overview 1/20 Introduction 1/22 History of OS design 1/27 Computer, OS structures Part 2: Process management 1/29 Processes 1, processes 2 2/3 Q1 Threads, IPC 2/5 CPU scheduling 2/10 Modern OS CPU scheduling 2/12 Synchronization 2/17 Semaphores 2/19 H1 2/24 Midterm exam 2/26 Locks and condition variables Part 3: Memory management 3/3 User memory management 3/5 Q2 Kernel memory management 3/10 P1 Paging and virtual memory Part 4: Storage Management 3/12 File system interface and organization 3/17 H2 3/19 Midterm exam 3/31 I/O, device drivers, STREAMS Disk space allocation and management 4/2 Mass storage structure, RAID 4/7 Unix signals and terminal management Part 5: Protection and Security 4/9 P2 OS Security Part 6: Distributed systems 4/14 Distributed systems 4/16 Q3 Distributed file systems 4/21 Distributed coordination Part 7: Case Studies 4/23 Linux 4/28 P3 Windows XP 4/30 5/2 H3 5/7 Final Exam: 12:45-3:00pm on Tuesday, May 12th in MSB 115