Project

The warm-up project is meant to be done fairly quickly; you will have two weeks to work on this assignment. You will work on this project individually and then hand in a short report on your results. This project will be fairly well-defined. More details will be available later.

The main project in this course has two goals. The first goal is to help you learn more about doing research in general. The second goal is to give you the opportunity to study a particular area of OS in greater detail. Therefore, you are expected to perform a substantial research project; this involves selecting an open problem, reading the related work, designing, implementing, and evaluating a solution, and presenting your results. Your completed projects should be of high enough quality that it could (eventually) be published in a major operating systems conference. People should work in groups of size two or three; under no circumstances will larger groups be permitted!

You are strongly encouraged to select a project from my list of suggestions (but a project of your own devising is possible given sufficient justification at our initial project meeting). Remember, the best project for you is the one you feel motivated to do (not the easiest one, and not the most-likely-to-get-me-a-paper one). The project is your chance to work on something new and different -- I sincerely hope that not only will you learn a lot while doing your project, but also that you will have a lot of fun!

Throughout the semester, there will be a few milestones that you must meet for your main project:

The following table summarizes the important dates for your project.

Event Due Date
Warm-up project available: Thursday, 2/1
Warm-up project due: Thursday 2/15 (midnight)
Initial meeting: Week of 2/26
Proposal: Thursday 3/8 (midnight)
Related work report: Thursday 3/22 (midnight)
Progress meeting: Week of 4/9
Progress meeting: Week of 4/23
Rough Draft due: Monday 5/7 (5 pm)
In-class presentations: Week of 5/7
Paper reviews: Thursday, 5/10 (5 pm)
Final report: Monday, 5/13 (midnight)

Resources

When searching for related work, I would suggesting starting with citeseer. You can search by keyword, but another very useful feature is to look for other (more recent) papers that reference a given related paper. Google Scholar provides keyword search of scholarly work in any field. Another good way to find a set of related papers is to start with the most recent related paper that you can find and to work backwards in time through its references. You can also get useful references from The Collection of Computer Science Bibliographies and the DBLP computer science bibliography site. You'll note that both have bibliography entries in bibtex format, since many papers written in CS use latex (and thus bibtex). As a last resort, you can always search the web as a whole with a general search engine.

Specific OS Publications:
Operating system research papers are presented in a number of major conferences and journal. When looking for related work, it also makes sense to at least look at the titles and abstracts from papers published in the sources for the last few years.

In summary, these are the top conferences and journals to keep in mind for OS research, whether you are thinking about publishing your own work, searching for related work, or trying to keep out-to-date with the field.

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.

Local Resources
Computer Systems Lab Homepage
Crash and Burn Lab