CPS 210: Operating Systems
home calendar topics work resources

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.

Threads and concurrency


Kernel structure, extensibility, and protection


Kernel abstractions reinterpreted, and system structure


Virtual Machinery


Resource sharing and isolation


Servers and server structure


Performance and Methodologies


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:

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


Approaches to correctness and reliability