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