CS 240: Advanced Topics in Operating Systems

Spring 2011 -- Dawson Engler

Course Outline

This course makes no attempt to cover all the interesting topics in operating systems. Instead, we will cover a few topics in depth. The course is divided into the following general topic areas:

Virtual memory management
     Discussions of virtual memory management implementations and recent work in virtual memory for multiprocessors, NUMA machines, large virtual address spaces, and other topics.
Synchronization and communication
     Discussions of synchronization with an emphasis on monitors. Communication using remote procedure call.
File systems
     Discussions of file system interfaces and disk storage management techniques.
Protection and security
     Discussions of data security and authentication.
Extensions and fault tolerance
     Discussions of mechanisms for implementing OS services at user level, OS structure and performance, reliability and availability of OS services.
History and experience
     Historically important papers and experience reports by senior researchers in the field.

Tentative Reading List

There is no textbook for this course. The course is based on a collection of journal and conference papers that describe the history and state of the art in operating systems. Papers will be discussed in class in approximately the order that they appear on the reading list below. You must read the papers before class.

March 29, Tuesday

March 31, Thursday
Eraser: A Dynamic Data Race Detector for Multithreaded Programs
Savage, Burrows, Nelson, Sobalvarro, and Anderson

April 5, Tuesday
April 7, Thursday
April 12, Tuesday
Cooperative Task Management without Manual Stack Management

Why Threads Are A Bad Idea
John Ousterhout

Why Events Are A Bad Idea

Virtual Memory and Protection
April 14, Thursday
April 19, Tuesday
April 21, Thursday
Native Client: A Sandbox for Portable, Untrusted x86 Native Code Exploiting Native Client
Yee, Sehr, Dardyk, Chen, Muth, Ormandy, Okasaka, Narula, Fullagar

Exploiting Native Client Video: part 1 part 2 part 3
Ben Hawkes

April 26, Tuesday

April 28, Thursday
Midterm -- in class

Local File Systems
May 3, Tuesday
Generalized File System Dependencies (slides)
Frost, Mammarella, Kohler, de los Reyes, Hovsepian, Matsuoka, Zhang Annotated copy.

May 5, Thursday
Rethink the Sync (slides)
Nightingale, Veeraraghavan, Chen, Flinn Annotated copy.

May 10, Tuesday

Remote File System
May 12, Thursday
May 17, Tuesday
A Low-Bandwidth Network File System
Muthitacharoen, Chen, and Mazieres Annotated copy.

May 19, Thursday

May 24, Tuesday

May 26, Thursday

May 31, Tuesday
Final -- in class