CS 450: Operating Systems


Final Exam

The final exam will be held June 29th 2016 from 6PM to 8PM in SB 201. EVERY student (live and internet sections) should report there at that time on that date for the final. Good luck!!!

Exam Practice

You can find an example inode practice problem here and deadlock problem here.

MP4 Posted

The fourth and final machine problem has been posted and officially assigned.

MP3 Posted

The third machine problem has been posted and officially assigned.

MP2 Posted

The second machine problem has been posted and officially assigned.

Midterm Topics and Practice Posted

A good overall topic list for the midterm is available here. While this is a rather complete list of the topics we covered in the first half of the class, it should not be viewed as an enumeration of every possible area the midterm will cover!
An example of the type of question you might encounter in regards to scheduling is available here.

MP1 Posted

The first machine problem has been posted and officially assigned.

Assignment 1 Posted

The first assignment has been posted and officially assigned. Please submit your PDF via Blackboard.


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

While I will make every effort to post the slides before class, 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
May 25 Preliminaries
Operating System Overview
Scheduling: concepts, metrics and policies
OS:TEP Chapters 7, 8
May 30 Memorial Day - No Class!  
June 1 Scheduling (continued)
Overview + Code Review of xv6
xv6 Commentary, Chapters 0-3
xv6 Source Handout (4-up)
June 6 - June 8 Virtualization and the UNIX API OS:TEP Chapters 4, 5, 6
OS:TEP Chapters 13, 14, 15, 16, 18, 19
June 13 - June 15 Midterm Exam (last half of class)
Concurrency and Synchronization
Midterm Topic List
OS:TEP Chapters 26, 27
June 20 Building Concurrency Primitives OS:TEP Chapters 28, 31
LBOS Chapters 1-4
June 20 - June 22 Deadlock OS:TEP Chapter 32
June 27 File Systems
Final Exam Review
OS:TEP Chapters 39, 40, 42, 43
June 29 Final Exam  


Please note:
  • All submissions must be typed and submitted electronically (handwritten & scanned submissions won't be graded).
  • Plagiarism will result in everyone involved getting a zero for the ENTIRE assignment --- no "teamwork"!
  • Please use the discussion areas found on all assignment pages.

Tanenbaum-Torvalds Debate (30 points)

Due: June 1 (via Blackboard)

xv6 Machine Problem 1: Modifying the Scheduler

Part 1 - 3 Due: June 8 (see page for submission details)

xv6 Machine Problem 2: Kernel Threads (50 points)

Due: June 15 (see page for submission details)

xv6 Machine Problem 3: Synchronization with Semaphores (45 points)

Due: June 22 (see page for submission details)

xv6 Machine Problem 4: Improving the Filesystem (30 points)

Due: June 29 (see page for submission details)



Primary Reference Materials

Source Code Repositories



Please use this area as a general discussion area as you see fit.