EXTENSIBILITY, SAFETY AND PERFORMANCE IN THE SPIN OPERATING SYSTEM B. Bershad, S. Savage, P. Pardyak, E. G. Sirer, D. Becker, M. Fiuczynski, C. Chambers,

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

CS533 Concepts of Operating Systems Class 14 Virtualization and Exokernels.
Department of Computer Science and Engineering University of Washington Brian N. Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
Ensuring Operating System Kernel Integrity with OSck By Owen S. Hofmann Alan M. Dunn Sangman Kim Indrajit Roy Emmett Witchel Kent State University College.
Extensibility, Safety and Performance in the SPIN Operating System Presented by Allen Kerr.
Chorus and other Microkernels Presented by: Jonathan Tanner and Brian Doyle Articles By: Jon Udell Peter D. Varhol Dick Pountain.
Lightweight Remote Procedure Call Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy Presented by Alana Sweat.
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,
Extensible Kernels Edgar Velázquez-Armendáriz September 24 th 2009.
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,
Extensibility, Safety and Performance in the SPIN Operating System Brian Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
Extensibility, Safety and Performance in the SPIN Operating System Bershad et al Presentation by norm Slides shamelessly “borrowed” from Stefan Savage’s.
CS533 Concepts of Operating Systems Class 14 Virtualization.
G Robert Grimm New York University Extensibility: SPIN and exokernels.
Extensibility, Safety and Performance in the SPIN Operating System Brian Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
Extensibility, Safety and Performance in the SPIN Operating System Dave Camarillo.
Microkernels: Mach and L4
Figure 1.1 Interaction between applications and the operating system.
Presentation of Extensibility, Safety and Performance in the SPIN Operating System Brain N. BershadStefan SavagePrzemyslaw Emin Gun Sirer Marc E.FiuczynskiDavid.
OPERATING SYSTEMS Introduction
Exokernel: An Operating System Architecture for Application-Level Resource Management Dawson R. Engler, M. Frans Kaashoek, and James O’Toole Jr. M.I.T.
User-Level Interprocess Communication for Shared Memory Multiprocessors Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy Presented.
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.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
Virtualization for Cloud Computing
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3.
Efficient Software-Based Fault Isolation—sandboxing Presented by Carl Yao.
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?
Secure Virtual Architecture John Criswell, Arushi Aggarwal, Andrew Lenharth, Dinakar Dhurjati, and Vikram Adve University of Illinois at Urbana-Champaign.
Operating System Architectures
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
CS533 Concepts of Operating Systems Jonathan Walpole.
Operating System Architectures
Extensibility, Safety and Performance in the SPIN Operating System Ashwini Kulkarni Operating Systems Winter 2006.
Presentation of Singularity OS Seminar, winter 2005 by Jacob Munk-Stander November 23 rd, 2005.
Eric Keller, Evan Green Princeton University PRESTO /22/08 Virtualizing the Data Plane Through Source Code Merging.
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
Architecture Support for OS CSCI 444/544 Operating Systems Fall 2008.
Chapter 2 Operating System Overview
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3.
Ihr Logo Operating Systems Internals & Design Principles Fifth Edition William Stallings Chapter 2 (Part II) Operating System Overview.
Processes Introduction to Operating Systems: Module 3.
The xCloud and Design Alternatives Presented by Lavone Rodolph.
EXTENSIBILITY, SAFETY AND PERFORMANCE IN THE SPIN OPERATING SYSTEM
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
M. Accetta, R. Baron, W. Bolosky, D. Golub, R. Rashid, A. Tevanian, and M. Young MACH: A New Kernel Foundation for UNIX Development Presenter: Wei-Lwun.
The Mach System Silberschatz et al Presented By Anjana Venkat.
MIDORI The Windows Killer!! by- Sagar R. Yeole Under the guidance of- Prof. T. A. Chavan.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Efficient software-based fault isolation Robert Wahbe, Steven Lucco, Thomas Anderson & Susan Graham Presented by: Stelian Coros.
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.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Introduction to Operating Systems Concepts
Kernel Design & Implementation
Presentation by Omar Abu-Azzah
Chapter 3: Windows7 Part 1.
Objective Understand the concepts of modern operating systems by investigating the most popular operating system in the current and future market Provide.
Basic Concepts Protection: Security:
Operating Systems: A Modern Perspective, Chapter 3
Outline Operating System Organization Operating System Examples
Operating Systems Structure
Objective Understand the concepts of modern operating systems by investigating the most popular operating system in the current and future market Provide.
CSE 60641: Operating Systems
Advanced Operating Systems (CS 202) Operating System Structure
CSE 542: Operating Systems
Presentation transcript:

EXTENSIBILITY, SAFETY AND PERFORMANCE IN THE SPIN OPERATING SYSTEM B. Bershad, S. Savage, P. Pardyak, E. G. Sirer, D. Becker, M. Fiuczynski, C. Chambers, S. Eggers U. of Washington

Goals To provide kernel extensibility –Without compromising kernel safety Unlike Windows –Without compromising kernel performance Unlike micro-kernel based systems Extensibility means here adding new features to the kernel, not just installing device drivers

Four basic techniques Co-location of extensions in kernel address space Enforced modularity through use of Modula-3, which enforces interface boundaries between modules Logical protection domains : kernel namespaces that contain code and exported interfaces Dynamic binding

System overview Set of extension services and a core system Primarily written in Modula-3 Does not require applications to be written in any specific language –Used SPIN to implement a UNIX OS server Bulk of server is written in C and runs within its own address space

Extensions Can be loaded into the kernel at any time – Think of plug and play Have used extensions to implement specialized versions of SPIN –Client/server video system

Client/server video system Built SPIN extensions for a video service –Server extension provides direct in kernel path from disk to network –Client extension decompresses incoming video packets and sends them to the video frame buffer

Motivation Most OS balance generality and specialization –Can tailor OS for specific applications –Not without degrading performance of other applications Both Windows and [old] MacOS allow application programmers to modify data structures and code –Makes system less stable and less secure

Current state of the art UNIX Mach Windows safefast extensible

Previous Work Hydra: –Allowed applications to manage resources through multi-level policies –Used a weighty capability-based protection mechanism

Previous Work (continued) Microkernels: –Very extensible (in user space) –High communication overhead of cross- domain calls Nearly 100 times cost of regular procedure call Acceptable only for coarse-grained services

Previous Work (continued) Write extensions in “little languages” –Allows extensions written in these languages to be added into the kernel –Extension code is interpreted by kernel at run time Limited scope of language limits usefulness of approach

Previous Work (continued) Use software-fault isolation techniques –Allows collocation of extensions in kernel address space –Extensions can be written in any language –Uses a binary tool that inserts explicit checks around memory references and branch instructions –Not yet proven

Previous Work (continued) Aegis – Had an efficient trap redirection mechanism –Implemented OS services as libraries executing in an application address space Pilot et al. –Relied on language features to provide protection inside a shared address space

SPIN Architecture Provides a software infrastructure for safety –Protection model supports efficient fine- grained access control of resources –Extension model allows extensions to be defined at the granularity of a procedure call Makes few demands on the hardware –Relies on language to enforce safety

Modula-3 Supports interfaces –They declare visible parts of an implementation module: all other definitions are hidden –Restriction is enforced at compile-time Is t ype-safe: –Restriction is enforced through type-specific pointers, checks on array indexes and automatic storage management

Protection Model (I) All kernel resources are referenced by capabilities [tickets] SPIN implements capabilities directly through the use of pointers Compiler prevents pointers to be forged or dereferenced in a way inconsistent with its type at compile time : –No run time overhead for using a pointer

Protection Model (II) A pointer can be passed to a user-level application through an externalized reference: –Index into a per-application table of safe references to kernel data structures Protection domains define the set of names accessible to a given execution context

Operations on domains (I) Create: initializes a domain with the contnst of a safe object file Resolve: resolves any unresolved symbols in a target domain against symbols exported from a source domain Target has A u nresolved Source exports A

Operations on domains (II) Combine: creates linkable namespaces that are the union of existing domains

The extension model SPIN extension model –Provides a controlled communication facility between extensions and base system –Allows for a variety of communication styles Extensions can passively monitor the system, offer hints or even entirely replace a system service

Performance SPIN offers the option of protected in-kernel calls that are much cheaper than a system call SPIN has lower virtual memory operation overhead than other OSes: –SPIN uses kernel extensions to define application-specific system calls

Conclusions Can combine extensibility, safety and performance in a single system Static type-checking mechanisms, implemented through the Modula-3 compiler, make this possible