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/27 intro so you want to be a wizard  
1 8/29 linking intro 7.1-7.6  
2 9/3 symbol resolution 7.7-7.9  
2 9/5 relocation 7.7-7.9 no quiz
3 9/10 loading executables 7.9  
3 9/12 position independent code, control flow intro 7.10-7.12, 8-8.1 quiz on 7.10-7.12

Exceptional control flow and the user-kernel boundary

Week Day Description Readings Notes
4 9/17 Exceptions 8.1  
4 9/19 Processes 8.2  
5 9/24 System Calls 8.3-8.4 helpful: strace zine
5 9/26 Signals   8.5
6 10/1 Signals & Files 8.5, 10.1-10.8  
6 10/3 Files    

Memory Management and Virtual Memory

Week Day Description Readings Notes
7 10/8 Files and Virtual Addressing 9.1-9.2  
7 10/10 Virtual Memory Paging & Caching 9.3-9.4 lecture delivered online; no in class lecture or quiz
8 10/15 Memory mgmt and address translation 9.5-9.6  
8 10/17 Dynamic Memory Allocation 9.9  
9 10/22 Garbage collection 9.10  
9 10/24 Midterm exam   No daytime class; midterm is at 6pm in SES 250
10 10/29 Memory mgmt and address translation 9.5-9.6  
10 10/31 Memory Mapping 9.7-9.8  

Networking

Week Day Description Readings Notes
11 11/5 Networking concepts 11.1-11.2  
11 11/7 IP & DNS 11.3-11.3.2  
12 11/12 Connections and Sockets 11.3.3-11.4  
12 11/14 HTTP 11.5  

Coordinating with other processes

Week Day Description Readings Notes
13 11/19 Multiprocessing 12.1-12.2  
13 11/21 Multithreading 12.3  
14 11/26 Shared vars and Semaphores 12.4-12.5  
14 11/28 Thanksgiving   no class
15 12/3 Threads for Parallelism 12.6  
15 12/5 Final exam review   no quiz