G22.3250-001 Honors Operating Systems

Spring 2007
Class: Tuesdays and Thursdays, 3:30-4:45pm, WWH 101
Office hours: Wednesday 2:00-3:00pm, 715 Bdwy., room 711

Robert Grimm
rgrimm@cs.nyu.edu

[ Overview | Schedule | Resources ]

Overview

Honors Operating Systems is a graduate course on operating and distributed systems. It covers a wide range of systems research, ranging from historical perspectives to internet-scale services and mobile/pervasive computing. The class has two major components: (1) reading, reviewing, and discussing research papers, and (2) performing a term-long research project. The goals are to expose students to a wide variety of systems research, to provide them with an opportunity to perform systems design and implementation of their own, and to develop their communication skills.

Readings

Readings cover a wide range of research papers and must be completed before the corresponding class. Students also need to write a review for each assigned paper (to make sure everyone keeps up with the readings). Each review should be about a paragraph long and discuss in the student's own words (1) the main idea(s) of each paper, (2) the student's main criticisms (regarding soundness, methodology, presentation, etc.), and (3) relevance to current systems or future research directions. David Wetherall at the University of Washington has written a great guide to reviewing papers.

Reviews are submitted by emailing them in plain-text format (with hard line breaks after each line) to g22_3250_001_sp07@cs.nyu.edu. Please make sure the subject specifies the paper title. The archive of all reviews is here. Paper reviews are due at 8am on the day of the corresponding class!

Projects

The goal for the projects is to conduct systems research and gain experience with designing, implementing, and evaluating real systems. Projects are term-long and performed in groups of two or three students. Each group produces a final report, structured like a conference paper, and presents their results at the end of the course. Project ideas will be suggested by the instructor, but students may also to pick their own topics.

To guide project groups through the term, there are several milestones along the way:

Exams

There is an open book, take home mid-term, but no final exam.

Prerequisites

Undergraduate operating systems. Additionally, experience with building large software systems and the ability to digest and review research papers are highly helpful.

Grading Policy

Roughly: 50% for readings, class participation, and mid-term, and 50% for research project. Missed reviews, however, will have a disproportionate negative impact on the final grade.

Collaboration Policy

Students are encouraged to discuss class topics and readings with each other. However, each student must write his/her reading review individually. Students in different project groups may help each other with general programming questions. However, students in different groups must not exchange code or use code from outside sources (such as the Internet) without explicit permission by the instructor.

Schedule

  1. Introduction

  2. Historical Perspective

    Further readings:

  3. Structure and Organization

    Further readings:

  4. Managing Concurrency

    Further readings:

  5. Communication

    Further readings:

  6. Virtual Memory

    Further readings:

  7. File Systems

    Further readings:

  8. Security

    Further readings:

  9. Mobile and Pervasive Computing

    Further readings:

  1. Extra Topic: Internet-Scale Services

    Further readings:

Resources

Mailing List

On Papers and Presentations