CSCI 664: Advanced Operating Systems
Fall 2007

Meetings: McGlothlin-Stree Hall 002, 2:00-2:50PM (MWF)
Instructor: Qun Li (liqun@cs)
Office: McGlothlin-Street 118
Office Hours: 3:00-4:30PM (MWF)
Final Exam:
Web Page:

The following course material is copied from Prof. Bruce Lowekamp's class taught last year. I am grateful for his help.  Note that I have replaced 1/4 of the papers on Prof. Lowekamp's reading list (see papers)

Paper Schedule

Course Catalog Description

Advanced topics in the design and implementation of modern computer operating systems, especially those which support a distributed computer environment. Topics include: synchronization, mutual exclusion, language support, process and thread management, scheduling, remote procedure call, fault tolerance, network and parallel file systems, security, modeling and performance.

Course Expectations

This course is an introduction to the fundamental concepts and current research topics related to operating systems. When you conduct research in any area, you must understand the background material, be able to assess other research, present your ideas, and be able to write convincingly about your own work. For those students who plan on going on into systems research, this course should give you the background needed to read papers in your area. For those going on to other fields, this course should provide the needed breadth of systems knowledge.

Because this is a research course, we will spend the semester reading and discussing important papers on various topics in the field. Every student is expected to read all of the papers. Each student will present three papers during the course of the semester. Each student will work on a semester-long project related to one of the topics in this course, and present the results in a poster at the conclusion of the course.

An undergraduate course on operating systems, or equivalent knowledge, is a prerequisite for this course. Very little time is spent reviewing background knowledge, and you are expected to come to each class prepared to discuss that day's paper(s). Students who are unsure of whether they have sufficient background are welcome to contact the instructor.

Paper presentations

Most classes will begin with a student giving a presentation of 15-20 minutes for the day's paper(s). At 20 minutes, the presentation will be stopped, regardless of whether it is finished. Presentations may be made using transparencies or a laptop. The department has a laptop that can be borrowed for those who do not have their own.

The elements of a presentation include a summary of the key points of the paper, background or related work, a critique of the paper, and analysis of the lessons to be gained from the paper. Please note that a summary of the entire paper is NOT required. The key to a good presentation is selecting what points to cover, not trying to cover everything.

A good guideline for your presentation is to have:

These are just guidelines, but your presentation should have this information contained in it. Specifically, you will receive:

The presenter must bring two copies of the presentation (4-up, landscape please) to class on the day of the presentation. Additionally, email a pdf of the same thing so it can be made available to other students. Failure to do so will result in a 4 point penalty to your presentation grade.

If you're not using powerpoint (which has an easy way of making landscape 4-up slides in page setup) or a mac (which lets you change page layout in the regular print dialog), you can still get nice slide handouts by doing something like:

pdf2ps Presentation.pdf - | psnup -f -4 -d1 -m0.5in >

which will take a pdf of single page slides in landscape mode and make a nice 4-up handout that reads in the normal column order. Depending on how you produce your slides, you may need to replace the -f with -l or -r, but -f will work for most of the standard possibilities.

Important notes:


Each student will conduct an independent project over the course of the semester. You will be provided with a list of possible topics, but are encouraged to design your own. No two students will perform the same project. You will write a project proposal and a mid-term progress report. The final report will consist of a poster to be presented at the end of the semester.


Time will be scheduled to take the midterm out of class. Sample questions, including midterm questions from the past three years, are available for you to study.

Writing assignments

Prior to the midterm, two take-home assignments will be given consisting of one midterm-type question for you to answer. These are for you to gain experience with the types of questions that are asked on the exams. The instructor will comment on them as would be normal for an exam, however your score will be primarily based on your completion of the assignment.


Your grade in the course will be assigned using the following weights:

You must pass both the final exam and the project to earn a grade of B- or above.


There is no official textbook required for the course, although students should have a textbook such as Silberschatz, Galvin, and Gagne, "Operating Systems Concepts," 7th edition (available in the bookstore).

PDFs for the papers for class are available online. These are only accessible from on campus, although you can log onto your CS account and copy them out of my directory. Also, copies of most of these papers can be found online or by accessing the library's collection.

Honor Code

All classes at William and Mary are conducted under the Honor System, as described in the student handbook. You are responsible for reading and understanding the honor code. In particular; lying, cheating, and stealing are unacceptable conduct in this course. All assignments are individual, unless specified otherwise. For the purposes of this course, you may discuss the papers, but the presentations you make must be entirely your own work. If you use other sources in your presentations or writings, you must give credit to your sources. You may not provide or accept assistance on the exams or for the development of presentations or your project; however scholarly cooperative critiquing of other students' presentations or writings prior to submission or presentation is acceptable and encouraged.