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 | 8/28 | intro | none | |
| 1 | 8/30 | linking intro | 7.1-7.6 | |
| 2 | 9/4 | relocation | 7.7-7.9 | |
| 2 | 9/6 | position independent code | 7.10-7.12 |
Exceptional control flow and the user-kernel boundary
| Week | Day | Description | Readings | Notes |
|---|---|---|---|---|
| 3 | 9/11 | Exceptions | 8.1 | |
| 3 | 9/13 | Processes | 8.2 | |
| 4 | 9/18 | System Calls | 8.3-8.4 | |
| 4 | 9/20 | Finish System Calls | no reading | |
| 5 | 9/25 | Signals | 8.5 strace zine | |
| 5 | 9/27 | Files | 10.1-10.8 | |
| 6 | 10/2 | Files | 10.1-10.8 | no quiz |
Memory Management and Virtual Memory
| Week | Day | Description | Readings | Notes |
|---|---|---|---|---|
| 6 | 10/4 | Virtual Addressing | 9.1-9.2 | |
| 7 | 10/9 | Virtual Memory Paging & Caching | 9.3-9.4 | |
| 7 | 10/11 | Memory mgmt and address translation | 9.5-9.6 | |
| 8 | 10/16 | Memory Mapping | 9.7-9.8 | |
| 8 | 10/18 | Dynamic Memory Allocation | 9.9 | |
| 9 | 10/23 | Garbage collection | 9.10 | Lecture delivered online |
| 9 | 10/25 | Midterm exam | No daytime class; midterm is at 6pm in LC A |
Networking
| Week | Day | Description | Readings | Notes |
|---|---|---|---|---|
| 10 | 10/30 | Networking concepts | 11.1-11.2 | |
| 10 | 11/1 | IP & DNS | 11.3-11.3.2 | |
| 11 | 11/6 | Connections and Sockets | 11.3.3-11.4 | |
| 11 | 11/8 | HTTP | 11.5 |
Coordinating with other processes
| Week | Day | Description | Readings | Notes |
|---|---|---|---|---|
| 12 | 11/13 | Multiprocessing | 12.1-12.2 | |
| 12 | 11/15 | Multithreading | 12.3 | |
| 13 | 11/20 | Shared Vars and Semaphroes | 12.4-12.5 | |
| 13 | 11/22 | No class, Thanksgiving | ||
| 14 | 11/27 | Threads for Parallelism | 12.6 | |
| 14 | 11/29 | Other adventures in threading | 12.7 | |
| 15 | 12/4 | Performance measurement | ||
| 15 | 12/6 | Final exam review |