CPSC 508: Graduate Operating Systems

Professor Margo Seltzer and Dr. Reto Achermann

Tu/Th 9:30 - 11:00



What is this course about?

Operating Systems research literature Why do we read a lot of papers, including very old ones?

Reading and Critiquing many papers What does it mean to critique a paper?

Conducting Operating Systems Research

Course Administrivia

The course has five primary components:

Homework: A Research Reproduction

In this homework, you will be asked to reproduce a research result that you find in an operating systems research paper. You may select the paper from those on our reading list or in the assignment or you may propose a different one (but you'll need to get it OK'd). The goals of the assignment are:
  1. To let you practice conducting research with a well-definied problem
  2. To give you a feel for how challenging it can be to write up an experiment in a reproducible way
  3. To help you become both more critical and appreciative when you read papers
  4. To introduce you to a real operating systems research problem

The homework assignment is to be completed independently. The assignment is already linked off the web site; you will want to do some reading to help you select a suitable paper to use.

The goal of this assignment is to learn how to write good research papers and present research results; the process is as important as the final outcome. This will be a frustrating assignment.


Mock Program Committee


Final project

Random Stuff

  • No extensions (of course, if something truly out of the ordinary arises, you should come talk to us)
  • We will post lecture notes on the web after class. (We really want everyone to come to class with their own notes)
  • Actually, We really want people to come to class.
  • You are encouraged to discuss the papers before class if you wish.
  • Feedback welcome.

  • A Computer Science Research Course According to Margo

    Focus on what computer science systems research is using the area of operating systems as the domain of discussion.

    The following categories highlight what we view as some of the most important aspects and characteristics of good research. Others may disagree, and we won't claim that we am right, but this is how we view it, so we encourage you to consider this viewpoint and take it into account as you approach research in this course. With luck, what you learn here will inform your research in other endeavors as well.

    Become familiar with existing research -- reading

    Why do we read a lot of research papers? How do we select papers to read?

    Discussion -- classes

    Do Research.

    Engineering vs. Research (the most valuable part of this lecture)

    Good research often requires some engineering.

    1. Golden rule #1: The engineering is not the research.
    2. Golden rule #2: Research requires a question (hypothesis).
    3. Golden rule #3: The engineering helps you ask the question.
    4. Golden rule #4: Tolerate no sloppiness when conducting the research.
    5. Golden rule #5: Reproducability

    What is Operating Systems Research?

    Identification of a problem/phenomenon

    Hypothesize a solution or better mousetrap

    Evaluate hypothesis

    Draw Conclusions

    Toughest things to Grok

    Reading Research Papers

    Identify what kind of paper you are reading

    Take notes

    Put paper in context


    After you have finished reading the paper

    Writing Research Papers

    The parts of a research paper:

    1. Abstract
    2. Introduction
    3. The introduction must help readers along the journey from a standing start to the list of contributions -- when they get to the contributions, they must understand why the contributions are important.
    4. Background
    5. What you Did
    6. The Results
    7. Related Work
    8. Conclusions

    General Tips

  • Spell-check
  • Grammar-check
  • Style check (passive voice, gendered writing)
  • Ideally, give yourself a few days to let a paper sit before you do a final proofing pass
  • As you are conducting research, begin writing up bits of the paper
  • Keep a notebook of everything that you do with respect to the research
  • Make sure you can reconstruct how you got to where you did.
  • Write Early -- Write Often
  • Check out the blog on how to write a dissertation (a research paper is a mini dissertation) and the pet writing peeves.