Anything on the schedule more than 24 hours in advance is subject to change.
From source code to running program
| Week | Day | Description | Readings | Notes |
|---|---|---|---|---|
| 1 | 1/12 | intro | none | |
| 1 | 1/14 | linking intro | 7.1-7.5 | |
| 2 | 1/19 | symbols | 7.5-7.6 | Also covering 7.7 content (but not on quiz) |
| 2 | 1/21 | dynamic linking | 7.8-7.12 |
Exceptional control flow and the user-kernel boundary
| Week | Day | Description | Readings | Notes |
|---|---|---|---|---|
| 3 | 1/26 | Exceptions and Processes | 8.0-8.2 | |
| 3 | 1/28 | Syscalls and Process Control | 8.3-8.4 | |
| 4 | 2/2 | Syscalls continued | 8.3-8.4 | no quiz |
| 4 | 2/4 | Signals | 8.5.0-8.5.7 | Guest lecture by Prof. Taylor |
| 5 | 2/9 | Reading and Writing Files | 10.0 - 10.3 | |
| 5 | 2/11 | Sharing Files | 10.5, 10.6 |
Memory Management and Virtual Memory
| Week | Day | Description | Readings | Notes |
|---|---|---|---|---|
| 6 | 2/16 | Virtual Addressing | 9.0-9.3.6 | |
| 6 | 2/18 | Virt addr cont’d | 9.0-9.3.6 | |
| 7 | 2/23 | Memory Management | 9.4 - 9.6 | |
| 7 | 2/25 | Memory Mapping | 9.8-9.9 | |
| 8 | 3/1 | Memory allocation | 9.9 | Still a quiz! |
| 8 | 3/3 | Midterm | ||
| 9 | 3/8 | Garbage Collection | 9.10 |
Enhanced I/O Functionality
| Week | Day | Description | Readings | Notes |
|---|---|---|---|---|
| 9 | 3/10 | Internet basics | 11.0-11.3 | |
| 10 | 3/15 | Sockets | 11.4 | |
| 10 | 3/17 | HTTP | 11.5 |
Coordinating with other processes
| Week | Day | Description | Readings | Notes |
|---|---|---|---|---|
| 11 | 3/29 | HW5 and Concurrency intro | 12.1 | |
| 11 | 3/31 | Concurrent IO | 12.2 | |
| 12 | 4/5 | Shared variables | 12.4 | |
| 12 | 4/7 | Semaphores | 12.5 - 12.5.3 | |
| 13 | 4/12 | HW6, Semaphores for scheduling | ||
| 14 | 4/19 | Concurrency with threads cont’d | 12.6 | |
| 14 | 4/21 | Parallel programming challenges | 12.7 | |
| 15 | 4/26 | Finding deadlock | review previous reading | |
| 15 | 4/28 | Higher level abstractions for parallel programming | ||
| 16 | ???? | Final review |