Extensibility, Safety and Performance in the SPIN Operating System Bershad et al Presentation by norm Slides shamelessly “borrowed” from Stefan Savage’s.

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

New Security Issues Raised by Open Cards Pierre GirardJean-Louis Lanet GERMPLUS R&D.
Department of Computer Science and Engineering University of Washington Brian N. Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
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.
Extensibility, Safety and Performance in the SPIN Operating System Department of Computer Science and Engineering, University of Washington Brian N. Bershad,
CS533 Concepts of Operating Systems Class 12 Extensibility via Software Based Protection.
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,
Extensibility, Safety and Performance in the SPIN Operating System Brian Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
G Robert Grimm New York University Extensibility: SPIN and exokernels.
Threads vs. Processes April 7, 2000 Instructor: Gary Kimura Slides courtesy of Hank Levy.
Operating System Structure. Announcements Make sure you are registered for CS 415 First CS 415 project is up –Initial design documents due next Friday,
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.
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.
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.
User-Level Interprocess Communication for Shared Memory Multiprocessors Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy Presented.
1 Threads Chapter 4 Reading: 4.1,4.4, Process Characteristics l Unit of resource ownership - process is allocated: n a virtual address space to.
Extensible Kernels Mingsheng Hong. OS Kernel Types Monolithic Kernels Microkernels – Flexible (?) – Module Design – Reliable – Secure Extensible Kernels.
 Introduction Introduction  Definition of Operating System Definition of Operating System  Abstract View of OperatingSystem Abstract View of OperatingSystem.
CSE 451: Operating Systems Autumn 2013 Module 6 Review of Processes, Kernel Threads, User-Level Threads Ed Lazowska 570 Allen.
Ajmer Singh PGT(IP) Software Concepts. Ajmer Singh PGT(IP) Operating System It is a program which acts as an interface between a user and hardware.
Programming Languages and Paradigms Object-Oriented Programming.
SPIN: Design Contention between Safety-Extensibility-Performance Review of Extensibility, Safety and Performance in the SPIN Operating System By Lewis.
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
Operating System Architectures
 What is an operating system? What is an operating system?  Where does the OS fit in? Where does the OS fit in?  Services provided by an OS Services.
LINUX System : Lecture 2 OS and UNIX summary Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang University Acknowledgement.
Extensibility, Safety and Performance in the SPIN Operating System Ashwini Kulkarni Operating Systems Winter 2006.
Operating Systems Lecture 7 OS Potpourri Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard. Zhiqing Liu School of Software.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Computer Programming 2 Why do we study Java….. Java is Simple It has none of the following: operator overloading, header files, pre- processor, pointer.
EXTENSIBILITY, SAFETY AND PERFORMANCE IN THE SPIN OPERATING SYSTEM
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Introduction Why are virtual machines interesting?
CSE 60641: Operating Systems George C. Necula and Peter Lee, Safe Kernel Extensions Without Run-Time Checking, OSDI ‘96 –SIGOPS Hall of fame citation:
CS533 Concepts of Operating Systems Jonathan Walpole.
Exokernel: An Operating System Architecture for Application-Level Resource Management By Dawson R. Engler, M. Frans Kaashoek, James O’Toole Jr. Presented.
Lecture 4 Page 1 CS 111 Online Modularity and Memory Clearly, programs must have access to memory We need abstractions that give them the required access.
Chapter 6 Limited Direct Execution Chien-Chung Shen CIS/UD
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
Memory Protection: Kernel and User Address Spaces
Protection and OS Structure
Extensible OSes Exokernel and SPIN (Lecture 9, cs262a)
Mechanism: Limited Direct Execution
Presentation by Omar Abu-Azzah
Introduction to Operating System (OS)
Modularity and Memory Clearly, programs must have access to memory
Chapter 3: Windows7 Part 1.
OS Virtualization.
Memory Protection: Kernel and User Address Spaces
Memory Protection: Kernel and User Address Spaces
Memory Protection: Kernel and User Address Spaces
Chapter 15, Exploring the Digital Domain
Exception Handling Imran Rashid CTO at ManiWeber Technologies.
Extensible OSes Exokernel and SPIN Lecture 19, cs262a
CSE 60641: Operating Systems
Memory Protection: Kernel and User Address Spaces
Advanced Operating Systems (CS 202) Operating System Structure
Lecture Topics: 11/1 Hand back midterms
CSE 542: Operating Systems
Presentation transcript:

Extensibility, Safety and Performance in the SPIN Operating System Bershad et al Presentation by norm Slides shamelessly “borrowed” from Stefan Savage’s SOSP talk

Goals Extensibility – Applications can dynamically extend system to provide specialized services Safety – Kernel is protected from actions of extensions Performance – Extensibility and safety have low cost

Why is this hard?

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

A SPIN extension

SPIN structure

Safety Language-based protection based on Modula- 3 – Memory safe – Interfaces for hiding resources – Cheap capabilities

Extensibility Events defined as procedures within interfaces in Modula-3 Dispatcher for finding handlers – Guards for selective execution of handlers

Dispatcher

Other services Almost all “system” services are extensions – Network protocols – File systems – System call interface SPIN only implements services which cannot be safely implemented as extensions – Processor execution state – Basic interface to MMU and physical memory – Device IO / DMA – Dynamic linker and Dispatcher

A protocol graph in SPIN

Performance SPIN runs on DEC Alpha platforms Measurements – DEC AXP 133 Mhz Comparison systems – DEC OSF/1 V2.1 – Mach 3.0

SPIN performance advantages Extensions provide specialized service – Don’t execute unnecessary code Extensions execute close to kernel services – Low latency response to faults/interrupts – Invoking services is cheap

Video service

Other basic system services

Discussion Do user level programs need to be written in Modula-3 like extensions do?

Discussion How can you force extension writers to use Modula-3?

Discussion Can SPIN can be efficiently used in resource constrained situations? Most memory safe languages, including Modula-3, are more ‘heavy weight’ than C in which most OS kernels are written. Isn’t performance the reason that we are still using C in most OSes today?

Modula-3 vs C Most operations are compiled equivalently whether written in Modula-3 or C Modula-3 can sometimes introduce runtime checks to guarantee type safety

Discussion In Spin, can multiple event guards be true at the same time? If so, how will the dispatcher decide the order of activating different event handlers?

Discussion The authors compare the performance of SPIN with Mach, however, Mach is slow. Do you think SPIN will have good performance compared to L4?

Discussion What happens if an extension raises an exception?

Discussion Can a buggy extension crash the system, perhaps the dispatcher?

Discussion What is the essential difference between SPIN and L4?

Discussion Is it really secure to trust the type system of a language for OS safety?

Discussion Why don’t we see any extensible OSes today?