G22.3250-001 Robert Grimm New York University Extensibility: SPIN and exokernels.

Slides:



Advertisements
Similar presentations
CS533 Concepts of Operating Systems Class 14 Virtualization and Exokernels.
Advertisements

More on Processes Chapter 3. Process image _the physical representation of a process in the OS _an address space consisting of code, data and stack segments.
Department of Computer Science and Engineering University of Washington Brian N. Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
G Robert Grimm New York University Virtual Memory.
EXTENSIBILITY, SAFETY AND PERFORMANCE IN THE SPIN OPERATING SYSTEM B. Bershad, S. Savage, P. Pardyak, E. G. Sirer, D. Becker, M. Fiuczynski, C. Chambers,
Extensibility, Safety and Performance in the SPIN Operating System Presented by Allen Kerr.
Exokernel: An Opertion System Architecture for Application-Level Resource Management SIGCOMM ’ 96, PDOS-MIT Presented by Ahn Seunghoon Dawson R. Engler,
Extensibility, Safety and Performance in the SPIN Operating System Brian Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, David Becker, Marc.
Extensibility, Safety and Performance in the SPIN Operating System Department of Computer Science and Engineering, University of Washington Brian N. Bershad,
Presented By Srinivas Sundaravaradan. MACH µ-Kernel system based on message passing Over 5000 cycles to transfer a short message Buffering IPC L3 Similar.
Extensible Kernels Edgar Velázquez-Armendáriz September 24 th 2009.
G Robert Grimm New York University Lightweight RPC.
G Robert Grimm New York University Extensibility: SPIN and exokernels.
Extensibility, Safety and Performance in the SPIN Operating System B. N. Bershad, S. Savage, P. Pardyak, E. G. Sirer, M. E. Fiuczyski, D. Becker, C. Chambers,
G Robert Grimm New York University Opal.
490dp Synchronous vs. Asynchronous Invocation Robert Grimm.
Extensibility, Safety and Performance in the SPIN Operating System Brian Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
Figure 2.8 Compiler phases Compiling. Figure 2.9 Object module Linking.
Dawson R. Engler, M. Frans Kaashoek, and James O’Toole Jr.
Extensibility, Safety and Performance in the SPIN Operating System Bershad et al Presentation by norm Slides shamelessly “borrowed” from Stefan Savage’s.
Dawson R. Engler, M. Frans Kaashoek, and James O'Tool Jr.
Home: Phones OFF Please Unix Kernel Parminder Singh Kang Home:
Memory Management 2010.
Extensibility, Safety and Performance in the SPIN Operating System Brian Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
Active Messages: a Mechanism for Integrated Communication and Computation von Eicken et. al. Brian Kazian CS258 Spring 2008.
OS Spring’03 Introduction Operating Systems Spring 2003.
1 Extensible Kernels Ken, with slides by Amar Phanishayee.
Extensibility, Safety and Performance in the SPIN Operating System Dave Camarillo.
Advanced OS Chapter 3p2 Sections 3.4 / 3.5. Interrupts These enable software to respond to signals from hardware. The set of instructions to be executed.
Figure 1.1 Interaction between applications and the operating system.
1 Last Class: Introduction Operating system = interface between user & architecture Importance of OS OS history: Change is only constant User-level Applications.
Dawson Engler, Frans Kaashoek, James O’Toole
Exokernel: An Operating System Architecture for Application-Level Resource Management Dawson R. Engler, M. Frans Kaashoek, and James O’Toole Jr. M.I.T.
1 I/O Management in Representative Operating Systems.
Extensible Kernels Mingsheng Hong. OS Kernel Types Monolithic Kernels Microkernels – Flexible (?) – Module Design – Reliable – Secure Extensible Kernels.
CS533 Concepts of OS Class 16 ExoKernel by Constantia Tryman.
1 Extensible Kernels Amar Phanishayee. 2 Traditional OS services – Management and Protection Provides a set of abstractions Processes, Threads, Virtual.
I/O Tanenbaum, ch. 5 p. 329 – 427 Silberschatz, ch. 13 p
M. Frans Kaashoek, Dawson R. Engler, Gregory R. Ganger, Hector M. Bricefio, Russell Hunt, David Mazikres, Thomas Pinckney, Robert Grimm, John Jannotti.
Stack Management Each process/thread has two stacks  Kernel stack  User stack Stack pointer changes when exiting/entering the kernel Q: Why is this necessary?
SPIN: Design Contention between Safety-Extensibility-Performance Review of Extensibility, Safety and Performance in the SPIN Operating System By Lewis.
Protection and the Kernel: Mode, Space, and Context.
Operating System Architectures
APPLICATION PERFORMANCE AND FLEXIBILITY ON EXOKERNEL SYSTEMS M. F. Kaashoek, D. R. Engler, G. R. Ganger H. M. Briceño, R. Hunt, D. Mazières, T. Pinckney,
CS533 Concepts of Operating Systems Jonathan Walpole.
Extensibility, Safety and Performance in the SPIN Operating System Ashwini Kulkarni Operating Systems Winter 2006.
Segmentation & O/S Input/Output Chapter 4 & 5 Tuesday, April 3, 2007.
Architecture Support for OS CSCI 444/544 Operating Systems Fall 2008.
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
MIT’s Exokernel Presented by Victoria Barrow Kyle Safford Sean Sommers.
A summary by Nick Rayner for PSU CS533, Spring 2006
EXTENSIBILITY, SAFETY AND PERFORMANCE IN THE SPIN OPERATING SYSTEM
System Components ● There are three main protected modules of the System  The Hardware Abstraction Layer ● A virtual machine to configure all devices.
Overview of the MIT Exokernel Operating System James Madison University CS 450 Abzug MWF 10:10-11:00 12/2/02 Steven Petzinger Billy Lehner.
Advanced Operating Systems (CS 202) Extensible Operating Systems Jan, 11, 2016.
Efficient Software-Based Fault Isolation Authors: Robert Wahbe Steven Lucco Thomas E. Anderson Susan L. Graham Presenter: Gregory Netland.
CS533 Concepts of Operating Systems Jonathan Walpole.
The Structuring of Systems Using Upcalls By David D. Clark Presented by Samuel Moffatt.
Exokernel: An Operating System Architecture for Application-Level Resource Management by Dawson R. Engler, M. Frans Kaashoek, and James O'Toole Jr. Presented.
Presentation by Omar Abu-Azzah
Threads, SMP, and Microkernels
Jennifer Rose Daniel Stanaland Amy Turlington
CSE 451: Operating Systems Autumn 2003 Lecture 2 Architectural Support for Operating Systems Hank Levy 596 Allen Center 1.
EXOKERNEL Gabriel Beltran John Blackman David Martin Kurt Rohrbacher
CSE 451: Operating Systems Autumn 2001 Lecture 2 Architectural Support for Operating Systems Brian Bershad 310 Sieg Hall 1.
CSE 451: Operating Systems Winter 2003 Lecture 2 Architectural Support for Operating Systems Hank Levy 412 Sieg Hall 1.
Advanced Operating Systems (CS 202) Operating System Structure
In Today’s Class.. General Kernel Responsibilities Kernel Organization
Presentation transcript:

G Robert Grimm New York University Extensibility: SPIN and exokernels

Preliminaries  Please remember one reading summary per paper!  Reviews are an essential component of this class  Project, milestone 1  Due 2/8/05 before class  PDF, ed to me  Project proposal and related work in one (~3 pages)  What is the problem? Why does it matter?  What is your overall solution? What are non-goals?  What resource do you need?  What have others done in that domain and related domains?

The Three Questions  What is the problem?  What is new or different?  What are the contributions and limitations?

OS Abstraction Barrier  Fixed high-level abstractions  Hurt application performance  Hide information  Limit functionality  Examples  Buffer cache management  Persistent storage

Goals  Extensibility  Applications introduce specialized services  Safety  Kernel, applications, services are protected  Performance  Extensibility and safety have low cost

Why Is This Hard?

Two Approaches

SPIN Approach  Put extension code in the kernel  Cheap communication  Use language protection features  Static safety  Dynamically impose on any service  Fine-grained extensibility

The Big Picture

Modula-3  Type-safe programming language  Interfaces  Garbage collection  Other features  Objects, generic interfaces, threads, exceptions  Most of kernel written in Modula-3  Drivers “borrowed” from DEC OSF/1  Extensions must be written in Modula-3  User-space applications written in any language

Safety  Capabilities  Simply a pointer  Can we pass capabilities to user-land?  Protection domains  Language-level  Limit visibility of names  Enforced at dynamic link time

Extensibility  Extension model  Events  Indicate the occurrence of some condition  Event handlers  May execute synchronously, asynchronously, or in bounded time  Guards  Restrict invocation of event handlers based on arguments  Mechanism  Event dispatcher  Common case: an (indirect) procedure call  Module implementing the interface

Core Services  Memory management  Physical addresses  Virtual addresses  Translations  Thread management  Signals to scheduler  Block, unblock  Signals to thread manager  Checkpoint, resume

Performance  It works

Exokernels Approach  Make the application do it!

Exokernels Approach (again)  Separate protection and management  Expose allocation  Expose names  Expose revocation  Expose information

The Big Picture

At The Core  Processor time slices  Processor environments  Hardware exceptions (Aegis, Xok)  Timer interrupts (Aegis, Xok)  Protected entries (Aegis, Xok)  Addressing  Aegis: Guaranteed mappings, applications notified of TLB misses  Xok: Hardware page tables, applications specify mappings  Hierarchical capabilities (Xok only)  Book keeping Aegis: MIPS-based DECstations Xok: x86-based PCs

How to Protect Shared Abstractions?  Software regions  Provide access to memory only through system calls  Are typically more fine-grained than pages  Hierarchically-named capabilities  Easily restrict access  Wakeup predicates  Ensure that processes get their time in the limelight  Robust critical sections  Provides isolation with low overhead and without requiring cooperation

Separate Protection and Management: The Disk  Problem  How to store meta-data?  Ownership of disk blocks  Failed approaches  Simple capabilities  Where to put the capabilities? In the block? A separate area?  Self-descriptive meta-data  How expressive is the description language?  How much space is used for descriptions?  Template-based descriptions  Again, how expressive is the description language?

The Disk (cont.)  Untrusted deterministic functions  Programmatic templates that specify pointed-to blocks  Shared data  System-wide buffer cache registry  Entries can be locked  Ordered disk writes  Ensure consistency after crash  Never reuse on-disk resource before nullifying pointers  Never create pointers before pointed-to data has been initialized  Never reset old pointer before new one has been set

Performance  It works  It scales

Issues  SPIN  Trusted compiler  Resource control

Issues (cont.)  Exokernels  Extension model  Downloaded code  Wakeup predicates  Dynamic packet filters  Application-specific handlers  Untrusted deterministic functions  Complexity of disk management

What Do You Think?