CS 322
Operating Systems

Week Lecture Topic Readings Homework Lab Project
Sept 4 Intro to OS 1.1 and 1.8TanenbaumC webpagesLinks Hw 1 on Moodle Lab 1*: C --
Sept 9 Overview & C Chap 1 TanenbaumChap 4Kernighan & Ritchie Hw 2 on Moodle Lab 2: Unix Processes --
Sept 16 Processes Chap 2.1TanenbaumChap 5Kernighan & Ritchie Hw 3 on Moodle Lab 2 Due 09/18 Project 1: Process Tree
Sept 23 Thread Chap 2.2 Tanenbaum Chap 6Kernighan & Ritchie Hw 4 on Moodle Lab 3: Process Programming
Sept 30 Mountain Day & Grace Hopper Process Tree solution Essential C Pointers and Memory Lab 4: Java Thread Project 1 Due 09/30
Oct 7 Java & POSIX Threads Chap 2.3 Tanenbaum Lab 3 Due 10/07 Lab 4 Due 10/09 Project 2*: Lyon Shell
Oct 16 Fall Break Synchronization I/O Redirection Tutorial Pipe Document Project 2* Due 10/18
Oct 21 SemaphoreMonitor Chap 17 (p. 563 to 573) Java 7 Specifications Chap 2.5 Tanenbaum Hw 5 Synchronization tutorial
Oct 28 CPU Scheduling Midterm Chap 2.4 Tanenbaum Project 3: Synchronization
Nov 4 CPU Scheduling Memory Management Chap 3.1 - 3.2 Tanenbaum Hw 6 Scheduling problems
Nov 11 Address Spaces, Virtual Memory Paging, TLB Chap 1 - 3 OSP2 Lab 5 (Moodle) Exploring OSP2 Project 4: OSP2 Tasks Project* 3 Due 11/12
Nov 18 Discrete Event Simulation Shared Memory, Demand Paging Chap 3.3 - 3.4 Tanenbaum Project 4 Due 11/22
Nov 25 Page Replacement Algorithms Thanksgiving Break Chap 4 OSP2 Project 5: OSP2 Thread Scheduling
Dec 2 Devices File Systems Chap 5.1 & 4.1 - 4.2Tanenbaum Project 6: Page Replacement Project 5 Due 12/03
Dec 9 Security Student Presentations Chap 9Tanenbaum Project 6 Due 12/10
A * beside an assignment indicates that a demo is expected during a specified fourth hour.

The examples used in class can be found on our machines at

 /Shared/cs322/public/lectures