| Lecture date | Topics | Reading | Assignments | 
|---|---|---|---|
| August 25 (W) | About the course (Notes) | ||
| August 30 (M) | No class | 1; 2 | |
| September 1 (W) | Introduction; history of operating systems (Notes) | ||
| September 6 (M) | Holiday | ||
| September 8 (W) | Processes; processes in UNIX (Notes) | 3; 4; 5 | |
| September 13 (M) | Executing programs (Notes) | 6 | Reading Quiz 1: HTML, PDF | 
| September 15 (W) | Executing programs, continued; introduction to CPU scheduling (Notes) | 7 | |
| September 20 (M) | No class | ||
| September 22 (W) | CPU scheduling, continued (Notes) | 8; 9; 11 | Reading Quiz 2: HTML, PDF | 
| September 27 (M) | No class | ||
| September 29 (W) | CPU scheduling, continued (Notes) | 
Homework 1a (written problems)
HTML,
PDF; Homework 1b (programming problem) HTML, PDF  | 
|
| October 1 (not a class day, make-up lecture) | CPU scheduling, continued; CPU virtualization concluding remarks (Notes) | ||
| October 4 (M) | No class | ||
| October 6 (W) | Memory management: Introduction; API (Notes) | 12; 13; 14 | 
Reading Quiz 3:
HTML,
PDF (accepted without penalty through 10/08)  | 
| October 8 (not a class day, make-up lecture) | Memory management: Contiguous allocation; segmentation (Notes) | 15; 16 | |
| October 11 (M) | Memory management: Managing free space (Notes) | 17 | |
| October 13 (W) | Memory management: Introduction to Paging (Notes) | 18 | 
Homework 2a (written problems)
HTML,
PDF; Homework 2b (programming problem) HTML, PDF (both accepted without penalty through 10/14)  | 
| October 18 (M) | Memory management: Paging, continued (Notes) | 19; 20 | |
| October 20 (W) | Memory management: Swapping (Notes) | 21 | 
Reading Quiz 4:
HTML,
PDF | 
| October 25 (M) | Memory management: Swapping, continued (Notes) | 22 | |
| October 27 (W) | Memory management: Case studies (Notes) | 23; 24 | |
| November 1 (M) | No class | 
Reading Quiz 5:
HTML,
PDF | 
|
| November 3 (W) | No class | ||
| November 8 (M) | Concurrency and threads: Introduction (Notes) | 25; 26 | |
| November 10 (W) | Concurrency and threads: Mutual exclusion; reasoning about concurrent algorithms (Notes) | 
Homework 3a (written problems)
HTML,
PDF
(accepted without penalty through 11/12) | 
|
| November 15 (M) | Concurrency and threads: Mutual exclusion continued; semaphores; bounded-buffer problem (Notes) | ||
| November 17 (W) | Concurrency and threads: Monitors; dining philosophers problem (Notes) | 
Homework 3b (programming problems)
HTML,
PDF
(accepted without penalty through 11/19) | 
|
| November 22 (M) | No class | ||
| November 24 (W) | Holiday | ||
| November 29 (M) | No class | ||
| December 1 (W) | Concurrency and threads: Programming with POSIX threads; wrap-up (Notes) | 27 (skim); 28 (skim); 30 (skim); 31 (skim); 32 (skim); 34 | |
| December 6 (M) | Course wrap-up and evaluations | 
Reading Quiz 6:
HTML,
PDF (accepted without penalty through final deadline)  | 
|
| December 8 (W) | Not a class day; overview of persistence (recorded lecture, parts 1 and 2) (Notes), (Notes) | 35; 36; 37 (skim); 39 (skim); 40 (skim); 46 | |
| December 10 (F) | Not a class day | 
Homework 4a (written problems)
HTML,
PDF (accepted without penalty through final deadline)  | 
|
| December 16 (Th) | Not a class day | 
Final deadline for all work; Reading Quiz 7: HTML, PDF  |