CSCI 3323 (Principles of Operating Systems):
Lecture Topics and Assignments

The table below shows what we will be discussing in each class meeting, readings (from the textbook unless otherwise indicated), dates of exams and quizzes, and due dates for homeworks. The dates of the final exam is fixed; other items are subject to change. Written homework problems are due at 5pm on the date shown, programming homework problems at 11:59pm, unless otherwise indicated.

Date Topics Reading Due dates
August 23 (W) About the course (Notes)    
August 28 (M) Overview and history of operating systems (Notes) 1.1, 1.2    
August 30 (W) Hardware functionality; operating system concepts and structures; system calls (Notes) 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9    
September 4 (M) Holiday    
September 6 (W) Command shells; processes (Notes) 2.1, 2.2  
September 11 (M) Interprocess communication (Notes) 2.3 Homework 1 (written problems): HTML, PDF  
September 13 (W) Interprocess communication, continued (Notes)   Homework 1 (programming problem): HTML, PDF  
September 18 (M) Interprocess communication, continued (Notes)    
September 20 (W) Classical IPC problems (Notes) 2.5  
September 25 (M) Scheduling (Notes) 2.4, 2.6, 2.7 Homework 2 (written problems): HTML, PDF  
September 27 (W) Deadlocks (Notes) 6 (skim) Homework 2 (programming problems): HTML, PDF  
October 2 (M) Memory management (Notes) 3.1, 3.2  
October 4 (W) Memory management, continued (Notes) 3.3 Homework 3: HTML, PDF  
October 9 (M) Review for midterm (Notes)    
October 11 (W) Midterm (Review in HTML, PDF)    
October 16 (M) Memory management, continued (Notes) 3.4  
October 18 (W) Memory management, continued (Notes) 3.5, 3.6, 3.7  
October 23 (M) Memory management, continued (Notes) 3.8, 3.9  
October 25 (W) A little more about memory management; file systems (Notes) 4.1, 4.2 Homework 4: HTML, PDF  
October 30 (M) Filesystems, continued (Notes) 4.3, 4.4, 4.5, 4.6, 4.7 Homework 5 (written problems) HTML, PDF  
November 1 (W) A little about libraries in Linux (Notes)    
November 6 (M) Filesystems, continued (Notes)    
November 8 (W) I/O (Notes) 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8 (skim), 5.9, 5.10 Homework 5 (programming problems) HTML, PDF  
November 13 (M) I/O, continued (Notes)   Homework 6 HTML, PDF  
November 15 (W) I/O, continued (Notes)    
November 20 (M) A little about the boot process (Notes)    
November 22 (W) Holiday    
November 27 (M) A little about security 9 (skim) Homework 7 HTML, PDF  
November 29 (W) TBA    
December 4 (M) Course wrap-up and evaluations    
December 8 (M), noon Final    

Sample solutions to programming problems: