CSCI-GA.3250-001: Honors Operating Systems (Grad)

Latest Announcements

10/29: Lab 6 released
The lab is in two parts. Part 6A is due Friday, November 14, and part 6B is due Friday, November 21.
10/19: Lab 5 released
The lab is due November 7, 9:00 PM.
10/15: Schedule change for Friday office hours
Mike's office hours Friday will be 2:15-2:45 and 4:45-5:15 PM rather than the usual time of 1:00-2:00 PM
10/15: Updating RCU link
In the originally posted paper for RCU, Figure 15 did not display. This issue is fixed in the schedule page. The updated link is also here.
10/9: Memory barriers
We discussed memory barriers in class today. This paper (also posted on the schedule page) delves into memory barriers.
10/9: Read-Copy Update links updated
The reading for our next class consists of a paper, a talk, and skimming another paper
10/7: The makeup class is rescheduled to the following week
The makeup class will be Friday, October 17 at 3:00 PM, not Friday October 10 at 3:00 PM.
10/2: Schedule updated
On Tuesday we will discuss the exokernel, combining both the reading for Thursday and the newly assigned reading for Tuesday.
10/2: Lab 4 released
The lab is in three parts. Part 4A is due Friday, October 17, part 4B is due Friday, October 24, and part 4C is due Friday, October 31.
10/2: Makeup class
There will be a makeup class on Friday, October 10 at 3:00 PM. The schedule page contains details.

See all announcements RSS 2.0 feed

Course information


This course is for students who want to hack on operating systems and more generally learn how they work. Class meetings will cover research papers (both classic and recent) and readings on operating systems, with a significant portion of class time devoted to discussion. A crucial component of the course is the labs. Students will implement the core of an exokernel-style operating system, called JOS. (JOS was developed for MIT's 6.828 and has been used in courses at several other schools, including NYU.)

Prerequisites and suggested background

Who should take this course?

PhD students who are interested in systems. This course satisfies the master's core OS requirement. If you are a masters student who has had previous exposure to systems (see above), then this course might be a good way to satisfy the core OS requirement, provided that you are prepared to challenge yourself.

The work

The class will consist of assigned readings, twice-weekly discussions, labs, a final exam, and a final project:

We will assume that you check the announcements (either on this site or by RSS) every 24 hours. Also, we will use Piazza and occasionally email you (for the most urgent communications). You are responsible for monitoring all three of these media.

A note about the labs

Regardless of whether you have the suggested background, we recommend that you start the labs long before they are due. The standard advice is "Start the labs early", but that is not quite right. The best advice, I think, is "Start the labs on time, but on time is probably much earlier than you think it is".


We are indebted to the present and past staffs of related courses elsewhere: MIT, UCLA, Harvard, Stanford, and UT.

Last updated: Wed Oct 29 23:34:19 -0400 2014 [validate xhtml]