Extensibility, Safety and Performance in the SPIN Operating System Presented by Allen Kerr.

Slides:



Advertisements
Similar presentations
Threads, SMP, and Microkernels
Advertisements

Department of Computer Science and Engineering University of Washington Brian N. Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
Mr. D. J. Patel, AITS, Rajkot 1 Operating Systems, by Dhananjay Dhamdhere1 Static and Dynamic Memory Allocation Memory allocation is an aspect of a more.
EXTENSIBILITY, SAFETY AND PERFORMANCE IN THE SPIN OPERATING SYSTEM B. Bershad, S. Savage, P. Pardyak, E. G. Sirer, D. Becker, M. Fiuczynski, C. Chambers,
Chorus and other Microkernels Presented by: Jonathan Tanner and Brian Doyle Articles By: Jon Udell Peter D. Varhol Dick Pountain.
Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre.
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
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,
Computer Systems/Operating Systems - Class 8
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,
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
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.
Dawson R. Engler, M. Frans Kaashoek, and James O'Tool Jr.
G Robert Grimm New York University Extensibility: SPIN and exokernels.
Operating System Structure. Announcements Make sure you are registered for CS 415 First CS 415 project is up –Initial design documents due next Friday,
Memory Management 2010.
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.
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.
CS533 Concepts of Operating Systems Class 6 Micro-kernels Extensibility via Hardware or Software Based Protection.
PRASHANTHI NARAYAN NETTEM.
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.
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.
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
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.
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.
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
Chapter 2 Operating System Overview
Processes and Threads Processes have two characteristics: – Resource ownership - process includes a virtual address space to hold the process image – Scheduling/execution.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
Ihr Logo Operating Systems Internals & Design Principles Fifth Edition William Stallings Chapter 2 (Part II) Operating System Overview.
Writing Systems Software in a Functional Language An Experience Report Iavor Diatchki, Thomas Hallgren, Mark Jones, Rebekah Leslie, Andrew Tolmach.
OPERATING SYSTEM SUPPORT DISTRIBUTED SYSTEMS CHAPTER 6 Lawrence Heyman July 8, 2002.
OSes: 3. OS Structs 1 Operating Systems v Objectives –summarise OSes from several perspectives Certificate Program in Software Development CSE-TC and CSIM,
Processes Introduction to Operating Systems: Module 3.
Operating Systems Structure what is the organizational principle?
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
1 Threads, SMP, and Microkernels Chapter Multithreading Operating system supports multiple threads of execution within a single process MS-DOS.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
CS533 Concepts of Operating Systems Jonathan Walpole.
Threads, SMP and Microkernels Process vs. thread: –Unit of resource ownership (process has virtual address space, memory, I/O channels, files) –Unit of.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
1 The user’s view  A user is a person employing the computer to do useful work  Examples of useful work include spreadsheets word processing developing.
Introduction to Operating Systems Concepts
Presentation by Omar Abu-Azzah
Real-time Software Design
Threads, SMP, and Microkernels
Page Replacement.
Lecture 4- Threads, SMP, and Microkernels
CS533 Concepts of Operating Systems Class 6
CSE 60641: Operating Systems
Advanced Operating Systems (CS 202) Operating System Structure
Presentation transcript:

Extensibility, Safety and Performance in the SPIN Operating System Presented by Allen Kerr

Overview Background and Motivation Modula-3 SPIN architecture Benchmarks Conclusion

Hardware Vs Software Protection Hardware  One-size-fits-all approach to system calls  Requires software abstraction Software  Applications tell the system what needs to be done  Allows checks to be optimized using assumptions  Allows untrusted user code to be safely integrated into the kernel

How Network Video works

How It Ought to Be

Motivation Taken from talk “Language Support for Extensible Operating Systems”

Modula-3 Similar feature set to Java  Pointer safety  Exceptions  Interfaces  Modules  Static Type Checking  Dynamic Linking Concerns  Execution Speed  Threads, allocation, and garbage collection  Memory Usage  Mixed-Language Environment

SPIN Kernel programmed almost exclusively in Modula-3 Applications can link into kernel Examples of services  Filing and buffer cache management  Protocol processing  Scheduling and thread management  Virtual memory

Further SPIN Motivation Most OSs balance generality with specialization General systems run many programs but run few well Specializing general operating system  Costly  Time consuming  Error-prone

Goals Extensibility  Allow applications to extend any service Performance  Dynamically inject application code into the kernel Safety  Rely on language protection for memory safety  Rely on interface design for component safety

SPIN System Components

Related Work Hydra  Applications manage resources  High overhead Microkernels  High communication overhead Software Fault Isolation  May lack necessary flexibility Aegis  Same goals as SPIN, different implementation

SPIN Architecture Co-location  Low cost communication between system and extensions Enforced modularity  Extensions written in modula-3 Logical protection domains  Namespaces Dynamic call binding  Calls respond to system events.

Protection Model Defines a set of accessible names Language level protection  If you have the reference, you have access Code is safe if signed by a modula-3 compiler Create  Creates a new domain  Safe object file  Leaves imported interface symbols unresolved Resolve  Dynamic linking  Resolves undefined symbols Combine  Combines 2 existing domains

Example

Extension Model Determines the ease, transparency and efficiency of extensibility Communication styles  Passive monitoring  Offer hints to the system  Replace current functionality Events  Announcement to the system  Request for service Handlers  Procedure that receives a message  Registered through central dispatcher Right to call procedure is equivalent to right to raise an event

Core Service Kernel services that control hardware resources  Extensible Memory Management  Extensible Thread Management

Extensible Memory Management Three main interfaces  Physical Storage (Physical Addressing) Use of pages Allocation of pages Controlled by core services  Naming (Virtual Addressing) Bind to a process Controlled by references  Translation Raises exceptions related Does not implement memory management directly Provide base for higher levels

Memory management interfaces

Extensible Thread Management Applications can link their thread package No defined thread model Defines structure to build thread model on  Strands  Set of events Block Unblock Management only effects outside of kernel

Thread Interfaces

Implications for Trusted Services Core services interact with hardware They must follow their specifications Trust is required for extension building

System Performance System Size  Measured by lines of code and object size Microbenchmarks  Low level system services Networking  Suite of network protocols End-To-End Performance  Show performance of two applications

Microbenchmark results Shows a significant performance increase

Conclusions SPIN Demonstrates  Good performance  Extensibility  Safety  Ability to rely on programming language features to construct systems  High level programming languages can be useful in core areas of operating system design

Questions?

References All figures used were from one of these sources “Extensibility, Safety and Performance in the SPIN Operating System” by Bershand “Protection is a Software Issue” by Bershand Talk titled “Language Support for Extensible Operating Systems” Talk titled “SPIN - An Application-Oriented Operating System” All sources accessible through the SPIN papers website 