Lecture Plan

(Tentative.)

Date Lecture Readings Homework
08/26 Intro: Course Policies, Overview
Refresher
08/31 Four Fundamental Concepts of Operating Systems
09/02 Abstractions 1: Threads and Processes
09/07 Abstractions 2: Processes and IPC
09/09 Abstractions 3: IPC, Interrupts, and Signals
09/11
HW1 Released
09/14 Scheduling 1: Process Life Cycle and CPU Scheduling
09/16 Scheduling 2: Lets Design a Near-Ideal CPU Scheduler
09/21 Synchronization 1: Understanding the Concurrency Problem
HW1 Due
09/23 Synchronization 2: Locks and Semaphores
HW2 Released
09/28 Synchronization 3: Semaphores (Con't) and Condition Variables
09/30 Synchronization 4: Condition Variables (Con't)
10/05 Memory 1: Address Space and Address Translation
10/07 Memory 2: Swapping and Paging
HW2 Due
10/12
No lecture — Fall Break
10/14
Review session for prelim 1
10/19 Memory 3: Paging and Page Tables
10/21 Memory 4: Page Tables and Page Replacement
HW3 Released
10/26 Memory 5: Page Replacement Mechanisms
10/28 End-to-End View of Networking
11/02 I/O and Storage Devices
11/04 Filesystems 1: Storage Stack, File Systems
HW3 Due
11/09 File Systems 2: Storing Files
11/11 File Systems: The Consistent Update Problem
HW4 Released
11/16 RAID
11/18 More on RAID
11/20
HW4 Due
11/23
Review session for prelim 2
11/25
No lecture — Thanksgiving
11/29
HW5 Released
11/30 Block Layer
12/02 The OS Network Stack
12/07 Where is the puck going?
HW5 Due