The classical view and the future
The course introduction touches on the classical
operating systems
view of isolated processes and a protected kernel that virtualizes
system resources. We illustrate some issues in naming, layering, modularity,
and abstraction by reviewing naming and translation structures
in file systems and networking. We also discuss how the core concepts
of operating systems reflect in a broader set of contexts, and how the
research focus of "systems" has changed through time.
This year we will start with a quick tour through classical operating system kernel structure and internals, focusing on the theme from Unix to Mach to Mac OS X.
Threads and concurrency
We won't spend a lot of class time on concurrency races and synchronization, but you should be familiar with the problem and the programming tools to address it, and related topics such as deadlock. You can refer to these notes on concurrency for background readings and sample problems. The class discussion will focus on two research papers on dynamic race detection, published in the flagship SOSP conference a decade apart.
-
Eraser: a dynamic data race detector for multithreaded programs.
In the 16th Symposium on Operating Systems Principles (Saint-Malo, France), October 1997.
Stefan Savage (University of Washington), Mike Burrows (DEC SRC), Greg Nelson (DEC SRC), Patrick Sobalvarro (DEC SRC), Tom Anderson (UC-Berkeley).
- MUVI: automatically inferring multi-variable access correlations and detecting related semantic and concurrency bugs. In the 21st Symposium on Operating Systems Principles (Stevenson, WA), October 2007.
Shan Lu, Soyeon Park, Chongfeng Hu, Xiao Ma, Weihang Jiang, Zhenmin Li, Raluca A. Popa, Yuanyuan Zhou (UIUC).
- Some basic concurrency slides [ppt]
- Some slides on LockSet/Eraser
- Shan Lu's slides on MUVI [ppt]
Scheduling, resource sharing, and isolation
Kernel structure, extensibility, and protection
- Extensibility, Safety, and Performance in the SPIN Operating System.
In the 15th Symposium on Operating Systems Principles (Copper Mountain, Colorado), December 1995.
B. N. Bershad, S. Savage, P. Pardyak, E. G. Sirer, M. E. Fiuczynski, D. Becker, C. Chambers, S. Eggers (University of Washington)
- Nooks:
Recovering Device Drivers
.
In the
6th Symposium on Operating Systems Design and Implementation (OSDI),
December 2004.
Michael M. Swift, Muthukaruppan Annamalai, Brian N. Bershad, and Henry M. Levy (University of Washington)
- More information on Nooks is available on Mike Swift's
driver
architecture page.
- SafeDrive:
Safe and Recoverable Extensions Using Language-Based Techniques.
In the
7th Symposium on Operating Systems Design and Implementation (OSDI),
December 2006.
Feng Zhou, Jeremy Condit, Zachary Anderson, Ilya Bagrak, Rob Ennals, Matthew Harren, George Necula, Eric Brewer (Berkeley)
- Slides on background [PPT]
- SPIN talk slides [PDF]
- Notes on protection systems
Virtual Machinery and Secure Platform Virtualization
-
Memory Resource Management in VMware ESX Server.
In the
Fifth Symposium on Operating Systems Design and Implementation (OSDI '94), Boston, December 2002.
Carl A. Waldspurger (VMware Inc)
- SubVirt: implementing malware with virtual machines.
Proceedings of the 2006 IEEE Symposium on Security and Privacy,
May 2006.
Samuel T. King, Peter M. Chen, Yi-Min Wang, Chad Verbowski, Helen J. Wang, Jacob R. Lorch
- Sam King's SubVirt slides
- Flicker:
An Execution Infrastructure for TCB Minimization.
In Proceedings of the ACM European Conference on Computer Systems (EuroSys'08),
April 2008.
Jonathan M. McCune, Bryan Parno, Adrian Perrig, Michael K. Reiter, and Hiroshi Isozaki.
- Slides on hypervisors
- Slides on security and cryptosystems: we discussed some of these slides for background on keypairs, secret keys, hashes, signing, key exchange, certificates, and SSL/TLS.
Server Structure and Performance
Storage
The core material for CPS 210 includes basic storage abstractions
(blocks vs. files), RAID concepts and tradeoffs for major categories
of RAID block storage (RAID-0, RAID-1, RAID-4, RAID-5), basic file
system internals and structures (directories, inodes/vnodes, links
and reference counting, mountable file systems, filesystem types,
filesystem switch, block maps), disk performance properties and block
placement, file system layout (log-structured, clusters, cylinders and
groups, sequential access), reliability and metadata management
(synchronous writes vs. logging), network file systems and caching.
- Serverless Network File Systems.
In the 15th Symposium on Operating Systems Principles (Copper Mountain, Colorado), December 1995.
Tom Anderson, Mike Dahlin, Jeannette Neefe, David Patterson, Drew Roselli, Randy Wang (UC Berkeley)
- Slides on storage, file systems, and xFS
- A similar structure used for wide-area
storage based on a P2P-DHT system:
Ivy. (not discussed)
Distributed Systems
Some papers we did not get to
- Scalable Performance of the Panasas Parallel File System. In File and Storage Technologies (FAST), February 2008.
Brent Welch, Marc Unangst, and Zainul Abbasi, Panasas, Inc.; Garth Gibson, Panasas, Inc., and Carnegie Mellon University; Brian Mueller, Jason Small, Jim Zelenka, and Bin Zhou, Panasas, Inc.
- Parity Lost and Parity Regained. In File and Storage Technologies (FAST), February 2008.
Andrew Krioukov and Lakshmi N. Bairavasundaram, University of Wisconsin, Madison; Garth R. Goodson, Kiran Srinivasan, and Randy Thelen, Network Appliance, Inc.; Andrea C. Arpaci-Dusseau and Remzi H. Arpaci-Dusseau, University of Wisconsin, Madison.
-
Open Versus Closed: A Cautionary Tale
.
In the Third Symposium on Networked System Design and Implementation (NSDI), May 2006.
Bianca Schroeder, Adam Wierman, and Mor Harchol-Balter, Carnegie Mellon University