| # | Day | Date | Topic | Assignment |
|---|---|---|---|---|
| 1 | Tue | 1/20 | Introduction and logistics | Read OSC Ch 1, Ch 23.1-23.2.3 |
| 2 | Thu | 1/22 | Interrupts and system calls | Read OSC Ch 2, Homework 1 out |
| 3 | Tue | 1/27 | Interrupts and system calls in Linux | Read ULK Ch 4, Ch 10 |
| 4 | Thu | 1/29 | Interrupts, system calls, Processes | Read OSC Ch 3 |
| 5 | Tue | 2/3 | Processes | Read OSC Ch 3 |
| 6 | Thu | 2/5 | Proesss in Linux | Read ULK Ch 3, Homework 1 due, Homework 2 out |
| 7 | Tue | 2/10 | Threads, Introduction to synchronization | Read OSC Ch 4, 6 |
| 8 | Thu | 2/12 | Locks | Read OSC Ch 6 |
| 9 | Tue | 2/17 | Semaphores and Monitors | Read OSC Ch 6 |
| 10 | Thu | 2/19 | Synchronizations in Linux | Read ULK Ch 5, Homework 2 due, Homework 3 out |
| 11 | Tue | 2/24 | Concurrency errors | Read this paper |
| 12 | Thu | 2/26 | Scheduling | Read OSC Ch 5 |
| 13 | Tue | 3/3 | Scheduling in Linux | Read ULK Ch 7 |
| 14 | Thu | 3/5 | Introduction to Memory Management | Read OSC Ch 8, Homework 3 due, Homework 4 out |
| 15 | Tue | 3/10 | Midterm review | |
| 16 | Thu | 3/12 | Midterm exam | |
| 17 | Tue | 3/17 | No class, spring break | |
| 18 | Thu | 3/19 | No class, spring break | |
| 19 | Tue | 3/24 | Paging | Read OSC Ch 9 |
| 20 | Thu | 3/26 | Segmentation | Read OSC Ch 9, Homework 4 due, Homework 5 out |
| 21 | Tue | 3/31 | Virtual Memory | Read OSC Ch 9 |
| 22 | Thu | 4/2 | LRU page replacement | |
| 23 | Tue | 4/7 | Memory Management in Linux | Read ULK Ch 7 |
| 24 | Thu | 4/9 | Disks | Read OSC Ch12 |
| 25 | Tue | 4/14 | File systems | Read OSC Ch 10 and Ch11, Homework 5 due, Homework 6 out |
| 26 | Thu | 4/16 | File systems in Linux | Read ULK Ch 12 and this paper |
| 27 | Tue | 4/21 | Virtual Machine (guest lecture by Scott Devine) | |
| 28 | Thu | 4/23 | No class | |
| 29 | Tue | 4/28 | Storage system errors | Read this paper |
| 30 | Thu | 4/30 | Final review | |
| 31 | Tue | 5/5 | No class (study week) | Homework 6 due |
Final exam: 4:10-7:00pm, Tuesday, 5/12