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/13 |
intro |
none |
|
| 1 |
1/15 |
linking intro |
7.1-7.5 |
|
| 2 |
1/20 |
linking and loading |
7.6-7.9 |
|
| 2 |
1/22 |
dynamic linking |
7.10-7.12 |
|
Exceptional control flow and the user-kernel boundary
| Week |
Day |
Description |
Readings |
Notes |
| 3 |
1/27 |
Exceptions and Processes |
8.0-8.2 |
|
| 3 |
1/29 |
Syscalls and Process Control |
8.3-8.4 |
|
| 4 |
2/3 |
Signals |
8.5.0-8.5.4 |
|
| 4 |
2/5 |
Shell makeup |
no reading |
|
| 5 |
2/10 |
Signals for real |
8.5.0-8.5.4 |
|
Memory Management and Virtual Memory
| Week |
Day |
Description |
Readings |
Notes |
| 5 |
2/12 |
Virtual Addressing |
9.0-9.3.6 |
|
| 6 |
2/17 |
Memory Management |
9.4 - 9.6 |
|
| 6 |
2/19 |
Memory Mapping & Allocation |
9.8-9.9 |
|
| 7 |
2/24 |
Garbage Collection |
9.10 |
|
| 7 |
2/26 |
Midterm |
|
See Piazza for “off limits” sections |
| 8 |
3/3 |
Implementing malloc and free |
9.9 |
quiz on video, not reading |
| 8 |
3/5 |
Midterm debriefing |
|
watch video: no in-person class |
Enhanced I/O Functionality
| Week |
Day |
Description |
Readings |
Notes |
| 9 |
3/10 |
Files |
10.0 - 10.3 |
|
| 9 |
3/12 |
Sockets |
11.4 |
|
| 10 |
3/17 |
Internet basics |
11.3 |
|
| 10 |
3/19 |
Midterm 2 |
|
See Piazza for covered sections |
Coordinating with other processes
| Week |
Day |
Description |
Readings |
Notes |
| 11 |
3/31 |
Concurrency intro |
12.1-12.2 |
|
| 11 |
4/2 |
Concurrent programming |
12.4-12.5 |
|
| 12 |
4/7 |
Concurrent programming cont’d |
12.6 |
review 12.5 for class content |
| 12 |
4/9 |
Parallel programming |
12.7 |
|