Department of Computer Science and Engineering University of Washington Brian N. Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

CS533 Concepts of Operating Systems Class 14 Virtualization and Exokernels.
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 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.
Chorus and other Microkernels Presented by: Jonathan Tanner and Brian Doyle Articles By: Jon Udell Peter D. Varhol Dick Pountain.
Extensibility, Safety and Performance in the SPIN Operating System Brian Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, David Becker, Marc.
Background Computer System Architectures Computer System Software.
Extensibility, Safety and Performance in the SPIN Operating System Department of Computer Science and Engineering, University of Washington Brian N. Bershad,
Extensible Kernels: Exokernel and SPIN Presented by Hakim Weatherspoon (Based on slides from Edgar Velázquez-Armendáriz and Ken Birman)
Extensible Kernels Edgar Velázquez-Armendáriz September 24 th 2009.
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.
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.
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,
Extensibility, Safety and Performance in the SPIN Operating System Dave Camarillo.
Presentation of Extensibility, Safety and Performance in the SPIN Operating System Brain N. BershadStefan SavagePrzemyslaw Emin Gun Sirer Marc E.FiuczynskiDavid.
1 Last Class: Introduction Operating system = interface between user & architecture Importance of OS OS history: Change is only constant User-level Applications.
Exokernel: An Operating System Architecture for Application-Level Resource Management Dawson R. Engler, M. Frans Kaashoek, and James O’Toole Jr. M.I.T.
CS533 Concepts of Operating Systems Class 6 Micro-kernels Extensibility via Hardware or Software Based Protection.
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.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
1 Lightweight Remote Procedure Call Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska and Henry M. Levy Presented by: Karthika Kothapally.
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?
Computer System Architectures Computer System Software
SPIN: Design Contention between Safety-Extensibility-Performance Review of Extensibility, Safety and Performance in the SPIN Operating System By Lewis.
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.
Operating System Architectures
Extensibility, Safety and Performance in the SPIN Operating System Ashwini Kulkarni Operating Systems Winter 2006.
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.
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
Architecture Support for OS CSCI 444/544 Operating Systems Fall 2008.
The Performance of Microkernel-Based Systems
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Ihr Logo Operating Systems Internals & Design Principles Fifth Edition William Stallings Chapter 2 (Part II) Operating System Overview.
The xCloud and Design Alternatives Presented by Lavone Rodolph.
Scott Ferguson Section 1
1 Choices “Our object-oriented system architecture embodies the notion of customizing operating systems to tailor them to support particular hardware configuration.
EXTENSIBILITY, SAFETY AND PERFORMANCE IN THE SPIN OPERATING SYSTEM
Networking Implementations (part 1) CPS210 Spring 2006.
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.
Full and Para Virtualization
1 Isolating Web Programs in Modern Browser Architectures CS6204: Cloud Environment Spring 2011.
MIDORI The Windows Killer!! by- Sagar R. Yeole Under the guidance of- Prof. T. A. Chavan.
Improving the Reliability of Commodity Operating Systems Michael M. Swift, Brian N. Bershad, Henry M. Levy Presented by Ya-Yun Lo EECS 582 – W161.
CS533 Concepts of Operating Systems Jonathan Walpole.
Papers on the Second Quiz Jehan-François Pâris
A Single Intermediate Language That Supports Multiple Implemtntation of Exceptions Delvin Defoe Washington University in Saint Louis Department of Computer.
Introduction to Operating Systems Concepts
Computer System Structures
Computer System Structures
Kernel Design & Implementation
Credits: 3 CIE: 50 Marks SEE:100 Marks Lab: Embedded and IOT Lab
Extensible OSes Exokernel and SPIN (Lecture 9, cs262a)
Presentation by Omar Abu-Azzah
Presented by Neha Agrawal
EXOKERNEL Gabriel Beltran John Blackman David Martin Kurt Rohrbacher
CS533 Concepts of Operating Systems Class 6
Outline Operating System Organization Operating System Examples
CSE 60641: Operating Systems
Advanced Operating Systems (CS 202) Operating System Structure
CSE 542: Operating Systems
Presentation transcript:

Department of Computer Science and Engineering University of Washington Brian N. Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski, David Becker, Craig Chambers, Susan Eggers Presented by George Dittmar

Overview SPIN is an extensible OS which can be dynamically specialized to safely meet the requirements of applications. Has an extension infrastructure built on Module-3 interfaces. Allows applications to safely change kernel services for better performance.

Motivation Current OS implementations forced to balance general design view or a specialized design view. An extensible system is one that can change to the needs of a specific application. Allows for a general OS to suddenly become specialized within an applications domain.

Goals of SPIN Make a generalized extensible OS that is safe and has good performance. Extensibility: interfaces to system services that an application can modify. Safety: require application access to be controlled at same granularity of the extension definition.

How do they achieve the goals? SPIN relies on four techniques implemented at language level / runtime. Co-location : OS extensions dynamically linked at runtime into the kernel virtual address space. Enforced modularity: Extensions written in Modula-3 with the compiler enforcing interface boundaries. Protection domains: kernel name-spaces that contain the exported interfaces. Dynamic call binding: extension execution in response to events.

Why do we need this? System specialization can be costly and error prone. Extensible systems can be made to change based on the need of the application.

Architecture SPIN has software infrastructure to merge system and application functionality. Implemented in Modula-3. Extensions defined at granularity of a procedure call by use of an Extension Model. Protection model controls the operations on a resource.

Modula-3 SPIN leverages the built in functionality of the language to help with safety and protection of the system and extensions. Support for interfaces Automatic storage management Generics Objects Etc…

Protection Model Control a set of operations for resources. For example protection model for memory address space. Capabilities are unforgeable references to resources. Implemented as pointers. Kernel resources are all capabilities. Ensures that extensions can only access resources they have been given. Protection domain defines a set of names that are available for an extension. Has a set of capabilities that corresponds to one or more object files with one or more exported interfaces.

Protection Domain Defines a set of names or symbols that are referenced by code. Operations on a domain. Create: starts a domain. Resolve: basis for dynamic linking. Combine: union of existing domains.

Extension Model Extensions allow for modification of system services. The model determines how easy and transparent an extension can be applied. SPIN has a controlled communication interface between the extensions and base SPIN kernel. Extensions are defined with events and handlers. Event: procedure exported from the interface. Handler: procedures having the same type.

Extensible Memory Management SPIN does not force an address space model but allows for implementation of many different models. Ex. Applications with Unix address semantics. Broken down into three service interfaces: Physical Address: use and allocation of physical pages. Virtual Address: allocates capabilities. Translation: mappings between the above two.

Extensible Threads SPIN defines the structure on which the thread model rests, not the model itself. Defined as a set of events that get raised and handled by schedulers. Interfaces for scheduling, concurrency, and synchronization of threads. Applications can include their own threads and schedulers! Does not modify control flow for kernel.

Trust issues SPIN brings up the issue of trust with core system services. Make sure things are being down within interface specifications. Core services are trusted by SPIN. An extensions failure stays within that extension!

Evaluation Comparison of three OS models. All on the same hardware platform. SPIN DEC OSF/1 V2.1 (Monolithic Kernel) Mach 3.0 (Micro Kernel)

Evaluation System Size Size in terms of lines of code for components. Micro-benchmarks Overhead for low level system services. Networking Extension services allow for integration of high- performance protocols. End-to-End performance How applications benefit from extensibility.

Micro-benchmarks Protected communication Virtual Memory

Micro-benchmarks cont. Thread management

Networking Latency and bandwidth Protocol forwarding

End-to-End Built a network video system for testing Found that SPIN’s implementation allowed for the same number of clients to be serviced as DEC but used LESS CPU resources.

Conclusions SPIN can achieve good performance without compromising safety. Using languages that have certain features allows developers to leverage compilers and runtime services to create systems in which structure and performance are complimentary.