CS 450: Operating Systems

Table of Contents

The midterm exam is in session! Download the PDF of the take-home exam. Note that posts to Piazza will be disabled until the due date — please e-mail me directly if you have questions about the exam. The BlackBoard submission link can be found under the "Assignments" tab.

Here's where you'll find the lecture calendar, slides, prescribed readings, assignment writeups and other useful resources for the class.

Other websites you'll need to visit periodically: our Vimeo channel and the IIT academic calendar.


The following schedule is tentative, and may be updated as the semester progresses.

While (most) lecture slides are available as PDF downloads, recognize that they are meant to supplement lectures and will do you no good if you miss class! I generally edit and update my slides up to the minute before lecture, so check back afterwards to get the latest updates.

Date Topic & Slides Reading
Aug 19 Preliminaries  
Aug 21 Operating system overview OSC chapts 1-2
Aug 25 - Sep 4 Scheduling (Sep 2 = Labor Day) OSC chapt 6
Sep 9 - Sep 11 Queueing Theory  
Sep 16 - Sep 18 xv6 code review, source handout xv6 chapts 0-3, 5
Sep 23 - Sep 30 Concurrency, Races & Synchronization OSC chapt 5, LBoS chaps 1-4
Oct 2 xv6 concurrency mechanisms  
Oct 7 Fall Break  
Oct 9 Midterm Exam  
Oct 14 - Oct 21 Alternative concurrent programming models  
Oct 23 - Oct 28 Deadlock OSC chapt 7
Oct 30 - Nov 6 File systems OSC chapt 10-12
Nov 25 Final exam review  
Nov 27 Thanksgiving Break  
Dec 5 Final Exam (8-10AM)  

I use the abbreviations OSC for Operating Systems Concepts, 9th ed., by Silberschatz, Galvin, and Gagne, xv6 for the xv6 Commentary, by Vox, Kaashoek, and Morris, and LBoS for The Little Book of Semaphores, by Allen Downey.

In addition to the readings prescribed above, there are also a number of helpful references listed in the Resources section, below.

Homework assignments

Some important advice/information related to the machine problems:

  • Remember that all assignment submissions must be typed up (handwritten submissions will not be accepted), and each should include a header specifying your full name, CWID, and site name (main campus or remote site name).
  • All students (in live and Internet sections) should submit their work via the assignments section on Blackboard.
  • Please see the syllabus for the late submission policy.

Important: do not start on an assignment until it's been officially assigned. The writeups will likely be tweaked beforehand, and you'll probably be wasting your time!

  1. Kernel organization paper (30 points)
    • Assigned: Aug 28; Due: Sep 8
  2. Concurrent programming, part I (36 points)
    • Assigned: Nov 13, Due: Nov 24
  3. Deadlock (30 points)
    • Assigned: Nov 25, Due: Dec 1


Primary reference materials

Source code repositories

Secondary reference and misc. papers

Simulators / Emulators


  • Course syllabus. Read it thoroughly and refer to it first for any administrative questions (e.g., regarding textbooks, the late policy, exam dates, etc.). If you can't find your answer there, e-mail me.
  • Instructor: Michael Lee
    • Email: lee@iit.edu
    • Office hours by appointment
    • Phone: (312) 567-5709