15-712: Advanced Operating Systems & Distributed Systems, Fall 2003


This course examines the design and analysis of selected aspects of operating systems and distributed systems. It covers topics such as concurrency and distributed communication; fault-tolerance, availability, and persistence; and operating system structure. Lecture focus on the principles used in the design of operating systems and distributed systems, and algorithms and data structures used in their implementation. Readings include case studies, seminal papers, and recent conference and journal articles.

For a basic impression of the kinds of things that we will cover, you can look at the Fall 2002 offering. Some of the topics and papers will change, but it will be quite similar.


Wed Dec 10, 2003: Project final reports are due tonight at 11:59pm. You can copy a PS or PDF to /afs/ece.cmu.edu/usr/jvh/712-submit/ or you can email me a PS or PDF. Thanks!

Nov 11, 2003: Project presentations are due next week. For details, see my email here. The order, chosen by the random permutation algorithm with entropy from /dev/random, is as follows:

Monday--Pang & Weisz; Bowers & Reshko; Abd-El-Malek & Johnson
Friday--Fairbanks & Li; Koes & McWherter; Echeverria, Rosencrantz, & Leung; Kim; Dumitras & Shao; Tan & Agarwal

Make sure you submit slides on time. If you have questions, contact James.Hendricks@cs.cmu.edu.

Oct 23, 2003: A schedule for the rest of the semester is now available. Furthermore, the readings for the rest of the semester are available under Readings.

Oct 7, 2003: Exam Friday Oct 10! Sample exams under "Homework and Exams."

Sept 16, 2003: Lecture 6 has been pushed back a week, moving forward lectures 7-9.

Sept 6, 2003: The due date on the homework handed out last Wednesday was incorrect. The homework as well as the first two summaries are due this Monday, Sept 8 at the start of class, as was announced in class on Monday.

Sept 5, 2003: There will be no class this Friday (Sept 5) or next Friday (Sept 12) due to the CS Immigration Course.

Sept 4, 2003: The Carnegie Mellon Online schedule incorrectly states that this class only meets MW. We will meet on several Fridays this semester.

Also, we will be meeting from now on in Wean Hall 4615a (the same room as the first meeting).

July 27, 2003: Note that the first class meets on September 3 and not on August 25, the first day of the fall semester. 15-712 is a CSD PhD course, and follows the associated schedule.

General Information

Meeting Time/Place: MWF 1:30-2:50, Wean Hall 4615A

Greg Ganger   HH/D207   x8-1297   ganger@ece.cmu.edu

Teaching Assistant
James Hendricks   HH/A300   x8-4951   jvh@ece.cmu.edu
Office Hours: By Request, M-F

Course secretary
Linda Whipkey   HH/D201   x8-3360   ljwhipkey@ece.cmu.edu


Members of this class are expected to have taken an operating systems course equivalent to CMU's 15-412 and achieved a grade of A or better. This includes familiarity as a user with an interactive operating system (e.g., Unix) and solid understanding of basic concepts in the design and implementation of operating systems. Students without this prerequisite knowledge are likely to struggle.

712 is a graduate-level class, and thus operates differently from an undergraduate class; particularly interested and prepared undergraduates can participate, with explicit permission of the instructor.


Topics planned

See the full topic and reading list for details.


Projects should be done in teams of 2 or 3 students. You are encouraged to propose your own project, though suggestions will be provided by the staff to help you with this. Projects plans must be explicitly okay'd by the course staff.

More information about the project is available here.

Books and Readings

There is no assigned textbook. However, there will be a variety of readings that will be handed out in class. Also, a number of books will be on reserve in the library for background reading and deeper study:


Final Note

* Everything here is subject to change.

Last modified: Tue Dec 9 23:03:10 EST 2003