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.
Sharing and protection in the New Web
Is your Web browser an operating system? We discuss the code
execution environment, focusing on the Web browser context.
One goal is to use this as an opportunity to review basic sharing
and protection issues as they manifest in the classical OS context.
- Some notes on protection
- [MashupOS]Protection and Communication Abstractions for Web Browsers in MashupOS.
In the 21st Symposium on Operating Systems Principles (Skamania, Columbia River), October 1997.
Helen J. Wang (Microsoft Research), Xiaofeng Fan (Microsoft Research),
Jon Howell (Microsoft Research), and Collin Jackson
(Stanford University)
Slides: PPTX (968 KB)
- [Wallach97]
Extensible Security Architecture for Java.
In the 16th Symposium on Operating Systems Principles (Saint-Malo, France), October 1997.
Dan S. Wallach, Dirk Balfanz, Drew Dean, and Edward W. Felten (Princeton University)
Threads and concurrency
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.
Kernel abstractions reinterpreted, and system structure
-
Virtual Memory Primitives for User Programs.
In the Fourth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS),
1991.
Andrew W. Appel and Kai Li (Princeton University)
Virtual Machinery
- Xen and the Art of Virtualization.
In the ACM Symposium on Operating System Principles, Lake George, October 2003.
Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, Andrew Warfield
(University of Cambridge, Microsoft Research, and Intel)
Resource sharing and isolation
Servers and server structure
Performance and Methodologies
-
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
- The Impact of Architectural Trends on Operating System Performance.
In the 15th Symposium on Operating Systems Principles (Copper Mountain, Colorado), December 1995.
Mendel Rosenblum, Edward Bugnion, Stephen Alan Herrod, Emmet Wichel, and Anoop Gupta (Stanford University)
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.
For Spring 2008 we talked about
all of these around one paper with a design for a cluster-based
scalable file service:
- 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)
For April 2 we continue with Day Three of storage systems and file systems,
delving into placement, LFS, and xFS some more.
We discuss a similar structure used for wide-area
storage:
Ivy, and
some discussion of P2P-DHT systems.
We finish with a discussion of CATS and talk a bit more about
security architecture and crypto building blocks.
For April 16: last day of classes, and a discussion linking distributed
storage back to virtual computing networks. Please read
the short workshop paper on Parallax: Managing Storage for a Million Machines, HotOS 2005.
Other things I wish we could have talked about:
Tricks with virtualization
- Revirt
- Terra
- Cellular Disco
- Potemkin
Approaches to correctness and reliability
- Bugs as Deviant Behavior
- IRON File Systems
- A Logic of Authentication
- Project 5