TENTATIVE CLASS SCHEDULE Part 1: overview 1/14 Introduction, History of OS design 1/16 Computer Structures 1/21 Operating System Structures Part 2: Process management 1/24 Q1 Processes 1, Processes 2 1/28 Threads, IPC 1/30 Nachos 2/4 CPU Scheduling 2/6 H1 Modern OS CPU Scheduling 2/11 exam 2/13 Synchronization 2/18 Semaphores 2/20 Q2 Locks and condition variables Part 3: Storage Management 2/25 User memory management 2/27 Kernel memory management 3/4 P1 Paging and virtual memory 3/6 File system interface and organization 3/11 H2 3/13 exam Part 4 I/O Systems 3/18 I/O, device drivers, STREAMS 3/20 Disk space allocation and management P2 spring break 4/1 4/3 Mass storage structure, RAID 4/8 Q3 Unix signals and terminal management Part 5 Distributed Systems 4/10 Distributed systems 4/15 P3 Distributed file systems Part 6 Protection and Security 4/17 Distributed coordination Part 7 Case Studies 4/22 Distributed coordination 2 4/24 OS Security 4/29 H3 Windows NT 5/1 Linux Final Exam: 8:00-10:00am Monday May 5