Spring 2015 Schedule

The schedule has seven two-week sections:
  1. Introduction
  2. Process and Threads
  3. Scheduling
  4. Synchronization and Deadlock
  5. I/O Subsystems
  6. Storage Management
  7. 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
Introduction (17.4 mbyte), Home page.
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.
Inter-Process Communication (14.8 mbyte), Silberschatz, Galvin and Gagne: Sections 3.4 through 6.
Threading (15.3 mbyte), Silberschatz, Galvin and Gagne: Sections 4.1 through 4.3.
Implementing Threads (10.7 mbyte), Silberschatz, Galvin and Gagne: Sections 4.4 & 4.5.
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
Silberschatz, Galvin and Gagne: Chapter 5 (Scheduling)
Other Readings
Finkel: Chapter 2 (Time Management)
Hailperin: Chapter 3 (Scheduling)
Tannenbaum and Woodhull: Section 2.4 (Scheduling)
Sparrow: Distributed, Low Latency Scheduling; Ousterhout, Wendell, Zaharia and Stoica; SOSP '95 Proceedings.
Podcasts
Basic Scheduling (13.5 mbyte), Silberschatz, Galvin and Gagne: Sections 5.1 through 5.3 and 5.6.
Multi-processor scheduling (16.4 mbyte), Silberschatz, Galvin and Gagne: Sections 5.4, 5.5 and 5.7.
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.

Creative
    Commons License