CS 261: Research Topics in Operating Systems

Tuesday/Thursday 1:00-2:30

Maxwell Dworkin 221 G125


Home Syllabus Background Lecture Notes Course Wiki

ProfessorTeaching Fellow
Margo SeltzerDavid Holland
Maxwell Dworkin 241Maxwell Dworkin 213
margo@eecs.harvard.edudholland@eecs.harvard.edu
http://www.eecs.harvard.edu/margohttp://www.hcs.harvard.edu/~dholland
617-496-5663617-496-3976
Office hours: Monday 3:15-5:00Friday 2-4


Announcements

Prerequisites

Computer Science 161 or equivalent.

Learning Objectives

This course is an introduction to operating systems research. After completing this course, you should be able to:

Coursework includes the following components:

The readings fall into give main categories. We will begin with an historical overview of operating systems, beginning with some of the earliest operating systems and ending with today's cutting edge research. We'll then examine the current trend in operating systems by reading about virtual machine monitors and the rebirth of virtualization. Next, we will view storage and file system evolution over the past forty years, arriving at some of the most recent additions to the storage stack. Our study of storage systems will lead directly into distributed systems, where we will see how the earliest research laid the groundwork for today's internetworked world. Finally, we will cover topics where systems research has been informed by work in different communities such as programming languages.

The course culminates with a research project, where students practice the art of operating systems research. There will be several deliverables on the way to a final project, including (but not limited to) a research statement, a research plan, an extended abstract, a final paper, and an oral presentation. At each stage of the process, I will provide detailed feedback and suggestions.

Course Requirements

Course Policies

OS Project Links