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