CS-736: Advanced Operating Systems

University of Wisconsin, Madison
Department of Computer Sciences
Fall 2003

Basic Information

When: MWF, 11am to 12:15pm (generally we'll meet only on WF, but keep M available)
Where: 2321 Engineering Hall (Note yet another change in venue!) ( timetable entry )
Who: Professor Remzi Arpaci-Dusseau and TA Tochukwu Iwuchukwu
Office Hours: Remzi by appointment (just send email), or Tochukwu at T and Th 1:00pm-2:00pm in 1302 CS.


12/15: The Call For Papers is now available (that is, information about your final write-up)

12/11: Presentation Schedule

12/9: Assignment 4 (The Presentation)

12/5: Exam locations and times: 7pm on Monday, Dec 8 in 1289 CS and 7pm on Monday, Dec 15 in 1325 CS

12/5: Practice midterm solutions ( PS PDF )

Old Notes

Short Cuts

Reading list , auxiliary reading , advice papers
Reading questions
Project List


Welcome to graduate operating systems! This course will cover an exciting range of materials from the broad field of operating systems, including basic operating system structure, file systems and storage servers, memory management techniques, process scheduling and resource management, threads, distributed and peer-to-peer systems, security and a few other "hot" topics. We will examine influential historical systems and important current efforts, extracting lessons both on how to build systems as well as how to evaluate them.

The course will center around two basic entities: readings and a final project. For most every class, you will have to read one or more papers (as assigned), which we will then discuss in class. You will also have to think and write a little bit about each paper. The real key to the class will be your final project: a mini-research project on the topic of your choice. Though we will provide some suggestions, you are encouraged to come up with a topic of your own (after all, that's what research is all about). More details will be available below in the weeks to come.

9/1 M-day 9/3 First class: Show up 9/5 THE and Nucleus
9/8 Hydra 9/10 Exo(1) and Exo(2) 9/12 Disco
9/15 No class 9/17 Graybox 9/19 FFS
9/22 No class 9/24 LFS 9/26 Class cancelled
9/29 IO-Lite 10/1 Anticipatory 10/3 RAID
10/6 No class 10/8 Finish up RAID 10/10 Monitors and Mesa
10/13 Lottery 10/15 Resource Containers 10/17 Scheduler Activations
10/20 No class 10/22 Vax/VMS 10/24 Meet in 2310 CS and read this
10/27 Multics 10/29 RPC 10/31 Comparison
11/3 No class 11/5 No class 11/7 No class
11/10 No class 11/12 NFS 11/14 AFS
11/17 Coda 11/19 BAD-FS 11/21 Measurements
11/24 No class 11/26 No class 11/28 Happy T-day
12/1 PAST 12/3 No class 12/5 Authentication
12/8 No class 12/10 No class 12/12 No class


The current Reading List is available here. All of the readings are available on-line. Note that you shouldn't read too far ahead, as the list may change during the semester.

Note: Some readings are required (i.e., you are responsible for them), but they will not be discussed in class.

Some additional papers are available in the Auxiliary Reading List. You are not required to read these, but there are many excellent papers in the list which are certainly worth reading at some point.

Finally, a collection of advice papers is available in the Advice Papers List. I highly recommend that you read these papers on your own; however, you will not be held responsible for them.

You will have four basic responsibilities for the readings covered in the course:

1 - Read the assigned discussion papers before class. This is a must!

2 - Form a discussion group. You should have about four people in your group, and discuss each paper sometime before class meets. When you have formed a group, please send me email with a list of group members.

3 - Answer the question posed for each paper. Your individual write-up should consist of a short-essay answer to the question(s) posed. The write-up should not exceed half of a page in length. The list of questions to answer is available here. Turn in your write up via email to me (remzi@cs) before the class where we discuss the paper, with the class and date in the subject line (e.g., 736 Reading 9/12). Late write-ups will automatically receive a null score. Write-ups should be in plain text and not some fancy encoding, for the professor's viewing pleasure.

4 - Read papers that will not be discussed in class but are required. You must find time on your own to do this. You may wish to discuss them with your discussion group.

The reading load will be heavy up front, so make sure not to fall behind. That way, you will have more time towards to end of the semester to focus on your project.


The project list is now available!

The final project is the main focus of the course. You are expected to perform work which could eventually be suitable for publication in a major operating systems conference. In general, people should work in groups of size one or two -- I will not allow groups larger than that. I will provide some suggestions for you to pick from, although you are encouraged to think of a project on your own, which I can help to refine. Project write-ups will be similar in format to a conference submission, and all will be entered into a class-wide mini-conference. The best papers will receive some kind of recognition. More details are forthcoming.

Here are links to some previous class projects: Spring 2000 :: Fall 2000 :: Fall 2002


There will be one or two exams to test your knowledge. The exams will be closed book, and will cover the papers read to date, as well as topics discussed in class. Dates to be announced soon.

Practice midterm solutions ( PS PDF )

Final Exam: Monday, December 8 in 1289 CS at 7pm or Monday, December 15 in 1325 CS at 7pm


In addition to reading, exams, and your final project, there may be a few assignments to get each of you a little more hands on experience with operating systems, experimental procedure, and professional duties such as paper reviewing. Stay tuned for details.
Assignment #0: Digital Picture/Reading Group (due 9/8)
Assignment #1: Project Proposal (due 10/22)
Assignment #2: Project Status (due 11/10)
Assignment #3: Project Status II (due week of 12/1)
Final Presentation (due 12/12)
Final Write-up (due 12/19)


A rough outline of grading is: reading and other assignments (25%), exams (25%), and final project (50%). However, this rough breakdown is subject to change at the whim of the professor, who can be moody.

Mailing List

The mailing list is cs736-1list@cs.wisc.edu. I will use it for general postings. A log of email is available at this url.

Complaints about operating systems, higher education, and the Bush administration should be sent to Remzi Arpaci-Dusseau.