Course Schedule

"SGG" indicates readings from Silberschatz, Galvin and Gagne. Additional readings will be given occasionally. Links will be added here to an outline for each lecture, the full text of each lab assignment, PDFs of my notes for each topic, and to copies of additional readings when available electronically. Note: all lab assignment and exam dates are subject to change, and are provided only as a general guideline until the actual lab assignment or exam is handed out in class.


Topic and/or Event Readings
January 30 Introduction and Overview; OS Structures; Lab 0 Out Topic Notes: Introduction and Overview, SGG 1, SGG 2
February 1 No Class: Off-campus Talk
February 4 Processes; Lab 1 Out Topic Notes: Processes and Threads, SGG 3
February 6 Processes, Threads SGG 4
February 8 Threads
February 11 CPU Scheduling: Basics Topic Notes: CPU Scheduling, SGG 5.1-5.3
February 13 Class Cancelled: Weather
February 15 CPU Scheduling: Round Robin, Multilevel Queues, Traditional Unix Scheduling; Lab 2 Out
February 18 CPU Scheduling: Multiprocessors and Threads, Modern OS Examples SGG 5.4-5.6
February 20 Cooperating Processes, Critical Sections Topic Notes: Process Synchronization, SGG 6.1-6.3
February 22 No Class: Off-campus Talk
February 25 Critical Sections; Lab 3 Out SGG 6.4
February 27 Critical Sections with Hardware Support; Semaphores SGG 6.5
February 29 Semaphores; Exam Review
March 3 Synchronization Problems; Exam 1 Out SGG 6.6
March 5 Synchronization Problems; Lab 4 Out
March 7 Semaphore Implementations; Synchronization Implementations SGG 6.8
March 10 More Semaphore Implementations; SysV Semaphores; Monitors SGG 6.7
March 12 No Class: SIAM PP08 Conference
March 14 No Class: SIAM PP08 Conference
March 17-21 Spring Break!
March 24 Unix Systems Programming; Lab 5 Out Topic Notes: Unix Systems Programming
March 26 Unix Systems Programming
March 28 Unix Systems Programming; Deadlock SGG 7; Topic Notes: Deadlock
March 31 Deadlock; Term Project Out
April 2 Deadlock Wrapup; Memory Management: Basics Topic Notes: Memory Management, SGG 8.1-8.3
April 4 In Clapp 127!, Memory Management: Contiguous Allocation and Paging SGG 8.4-8.5
April 7 Memory Management: Paging and Segmentation SGG 8.6
April 9 Exam Review; Memory Management
April 11 No Class: CCSCNE 2008; Term Project Proposals Due
April 14 Memory Management: Virtual Memory; Exam 2 Out SGG 9.1-9.4
April 16 Memory Management: Virtual Memory SGG 9.5-9.6
April 18 Memory Management: Working Set Simulation, Segmentation; The Cancelled Lab 6
April 21 File Systems: Interface and Implementations; Term Project Progress Reports Due Topic Notes: Filesystems, SGG 10, SGG 11
April 23 File Systems: Directory Structures
April 25 File Systems: Implementations
April 28 File System Optimizations: Disk Scheduling, RAID, Journaling SGG 12
April 30 RAID; Protection and Security; Term Project Paper Drafts Due Topic Notes: Protection and Security, SGG 16, SGG 14, SGG 15
May 2 Protection and Security; Course Evalulations
May 5 Encryption; Wrapup (during class meeting); Final Project Presentations (6:30-9 PM); (Final Submissions Due May 6)
May 9-13 Take-Home Final Exam