The schedule has seven two-week sections:
- Introduction
- Process and Threads
- Scheduling
- Synchronization and Deadlock
- I/O Subsystems
- Storage Management
- File Systems
  
   
   
   
   
     • indicates an assignment due day.
   
Linked material from the ACM or the IEEE can be downloaded for free from within
the monmouth.edu domain.
Note: The phrase “X through Y” means “from the
beginning of X to the end of Y.”
 
   
   - Section 1: Introduction, Wednesday, 21 January through Wednesday, 28 January.
- 
   
  
   
  
  
   - First day
   — Wednesday, 21 January.
- Class Readings
   
- Silberschatz, Galvin and Gagne- : Chapters 1 (Introduction) & 2 (Operating-System Structures)
     
 
- Other Readings
   
- Finkel- : Chapter 1 (Introduction)
     
 - Hailperin- : Chapter 1 (Introduction)
     
 - Tannenbaum and Woodhull- : Chapter 1 (Introduction)
     
 
- Podcasts
   
 
- Section 2: Process and Threads, Thursday, 29 January through Wednesday, 11 February.
- 
   
  
   
  
  
   - Class Readings
   
- Silberschatz, Galvin and Gagne- : Chapters 3 (Processes, section 3.6 optional) & 4 (Threads)
     
 
- Other Readings
   
- Finkel- : Section 1.5, Chapters 8, & 9
     
 - Hailperin- : Chapters 2 (Threads) & 7 (Processes and Protection)
     
 - Tannenbaum and Woodhull- : Sections 2.1 (Introduction to Processes)
     
 
- Podcasts
   
- Processes-  (10.9
 mbyte),  Silberschatz, Galvin and Gagne- : Sections 3.1 through 3.3.
     
 - Threading-  (15.3
 mbyte),  Silberschatz, Galvin and Gagne- : Sections 4.1 through 4.3.
     
 
- Assignment 1
   — available Thursday, 29 January; due Wednesday, 11 February
   at 11:50 p.m.
    
- The assignment.
    
 An example solution.
 Solution live-coding session, part 1/2.
 Solution live-coding session, part 2/2.
 The grades.
 
- Section 3: Scheduling, Thursday, 12 February through Wednesday, 25 February.
- 
   
  
   
  
  
   - Class Readings
   
- Other Readings
   
- Finkel- : Chapter 2 (Time Management)
     
 - Hailperin- : Chapter 3 (Scheduling)
     
 - Tannenbaum and Woodhull- : Section 2.4 (Scheduling)
     
 
- Podcasts
   
- Basic Scheduling-  (13.5
 mbyte),  Silberschatz, Galvin and Gagne- : Sections 5.1 through 5.3 and 5.6.
     
 
- Assignment 2
   — available Thursday, 12 February; due Wednesday, 4 March
   at 11:50 p.m.
    
- The assignment.
    
 An example solution.
 The grades.
 
- Section 4: Synchronization and Deadlock, Thursday, 26 February through Wednesday, 11 March.
- 
   
  
   
  
  
   - Midterms grades due
   — Tuesday, 10 March.
- Class Readings
   
- Silberschatz, Galvin and Gagne- : Chapters 6 (Process Synchronization) & 7 (Deadlocks)
     
 
- Other Readings
   
- Finkel- : Chapter 4 (Resource Deadlock)
     
 - Hailperin- : Chapter 4 (Synchronization and Deadlock)
     
 - Tannenbaum and Woodhull- : Section 2.2 (Interprocess Communication)
     
 
- Assignment 3
   — available Thursday, 26 February; due Wednesday, 25 March
   at 11:50 p.m.
    
- The assignment.
    
 An example solution.
 The grades.
 
- Section 5: I/O Subsystems, Thursday, 12 March through Wednesday, 1 April.
- 
   
  
   
  
  
   - No class
   — Spring break, Monday, 16 March and
  Wednesday, 18 March.
- Drop day
   — Monday, 30 March.
- Class Readings
   
- Silberschatz, Galvin and Gagne- : Chapters 12 (Mass-Storage Structures) & 13 (I/O Subsystems)
     
 
- Other Readings
   
- Finkel- : Chapter 5 (Transput)
     
 - Tannenbaum and Woodhull- : Chapter 3 (Input/Output)
     
 
- Assignment 4
   — available Thursday, 26 March; due Wednesday, 15 April at 11:50 p.m.
    
- The assignment.
    
 
- Section 6: Storage Management, Thursday, 2 April through Wednesday,  15 April.
- 
   
  
   
  
  
   - Class Readings
   
- Silberschatz, Galvin and Gagne- : Chapters 8 (Main Memory) & 9 (Virtual Memory)
     
 
- Other Readings
   
- Finkel- : Chapter 3 (Space Management)
     
 - Hailperin- : Chapter 6 (Virtual Memory)
     
 - Tannenbaum and Woodhull- : Chapter 4 (Memory Management)
     
 
- Assignment 5
   — available Thursday, 16 April; due Wednesday, 6 May at 11:50 p.m.
    
 
- Section 7: File Systems, Thursday, 16 April through Wednesday,  29 April.
- 
   
  
   
  
  
   - Last day
   — Wednesday, 29 April.
- Class Readings
   
- Silberschatz, Galvin and Gagne- : Chapters 10 (File-System Interface) & 11 (File-System Implementation)
     
 
- Other Readings
   
- Finkel- : Chapter 6 (File Structures)
     
 - Hailperin- : Chapter 8 (Files and Other Persistent Storage)
     
 - Tannenbaum and Woodhull- : Chapter 5 (File Systems)
     
 - Serverless Network File Systems- ; Anderson, Dahlin, Neefe, Patterson, Roselli and Wang;
   SOSP '95 Proceedings- .
 
     
 
 
  Open Lecture on Threads vs Events at 7:45 to 9:45 p.m. on
  Wednesday, 6 May in Howard Hall 209 (the usual place).
  
    Lecture readings:
    
    On the duality of operating
      system structures, Hugh Lauer and Roger Needham, Operating Systems
      Review, April, 1979.
    Why
      Threads are a Bad Idea (for Most Purposes), John Osterhout, keynote
      address, USENIX Annual Technical Conference, 1996.
    SEDA: An Architecture for Well-Conditioned, Scalable Internet Services
      by Matt Welsh and David Culler and Eric Brewer, 
      18th Symposium on
      Operating System Principles, 2001.
    Cooperative Task Management without Manual Stack Management, or,
      Event-driven Programming is Not the Opposite of Threaded Programming by
      Atul Adya, Jon Howell, Marvin Theimer, William Bolosky, and John Douceur,
      USENIX 2002 Annual Conference, June 2002.
    
    Why Events are a Bad Idea (For High-Concurrency Servers) by Rob von
      Behren, Jeremy Condit and Eric Brewer,
      9th conference on Hot
      Topics in Operating Systems, 2003.
  
  
  | This page last modified on 2015 March 15. | 
      |