Operating System Trade-Offs: Performance, Extensibility, and Security


Lecture 2

Going over the syllabus

Syllabus Overview


  1. Asynchronous paper discussions (on Perusall)
  2. In person discussions
  3. Term project

Asynchronous paper discussions

For each paper, five (5) substantive comments?

This should be easy if you’re reading the paper in preparation for a class discussion.

Read the paper at least twice:

  1. What is the paper about? What are the authors trying to argue or show?

    1. When was the paper written?
    2. Who are the authors?
    3. What kinds of work do they cite?
    4. Read the introduction, then the conclusion, then try to infer what you’ll see in the body of the paper.
    5. Read the body of the paper at a high level (without getting too fixated on details).
  2. OK, time to read in depth.

    1. What assumptions are the authors asking you to make? Are they reasonable? If the assumption are wrong (or not-applicable), does their argument still hold water?
    2. What assumptions must you make, even though the authors don’t say so explicitly?
    3. What claims does the paper make that must be supported?
      • Is it in the citations?
      • Is there an evaluation? A proof sketch? Etc…
    4. How do they support the main arguments?
      • Design makes arguments true by construction?
      • Performance evaluation?
      • How is “extensibility” measured? (example applications, user study, established benchmarks?)

In person discussion

Assuming you’ve made at least 5 substantive comments, you just have to show up and put in a good faith effort to move the discussion forward. The goal of the discussions is to have a higher bandwidth discussion about either points raised on Perusall or points related specifically to the theme of the course.

Term Project

tl;dr: You must submit a 6-page (USENIX-style) paper alonge or in groups on a project of your choosing related to the course theme.

The main graded component (40%) of the class is a term project, roughly equivalent to a workshop submission or the literature review section of a thesis. These can be done along, or in groups, and involve four deliverables:

  1. 1-2 page proposal, due March 18th
  2. Proposal presentation (~10 minutes per project) on March 18th & 23rd
  3. A 6-page (USENIX-style) report due on Dean’s day (May 4th)
  4. Final presentation, in the last few class meetings (depending on the number of projects)

Projects can be:

Part of your task is to scope the project wisely. If you are building a system, what can you reasonably do in a couple months? Is there a prototype version or proof-of-concept that gives you enough to evaluate? Is there a component of the whole system is sufficient?

Rough schedule of readings:

  1. Kernels:
    1. Monolithic
    2. Micro-
    3. Extensible-
    4. High performance
  2. Distributed systems
  3. Language-based isolation
  4. Networking
  5. Misc. if we get to it


Barbara Liskov

Historical Context

The Venus Machine