Exokernel: An Operating System Architecture for Application-Level Resource Management" by Dawson R. Engler, M. Frans Kaashoek, and James O'Toole Jr. Chris.

Slides:



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

Northwestern University 2007 Winter – EECS 443 Advanced Operating Systems Exokernel: An Operating System Architecture for Application-Level Resource Management.
Operating System Architecture and Distributed Systems
CS 443 Advanced OS David R. Choffnes, Spring 2005 Application Performance and Flexibility on Exokernel Systems M. F. Kaashoek, D.R. Engler, G.R. Ganger,H.M.
CSC 660: Advanced Operating SystemsSlide #1 CSC 660: Advanced OS Microkernels.
The future of Desktops Transform Your Desktop with Virtualization.
1 Application Performance and Flexibility on Exokernel Systems Kaashoek, Engler, Ganger, Briceno, Hunt, Mazieres, Pinckney, Grimm, Jannotti, Mackenzie.
Exokernel: An Opertion System Architecture for Application-Level Resource Management SIGCOMM ’ 96, PDOS-MIT Presented by Ahn Seunghoon Dawson R. Engler,
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.
CS533 Concepts of Operating Systems Class 20 Summary.
Dawson R. Engler, M. Frans Kaashoek, and James O’Toole Jr.
CS533 Concepts of Operating Systems Class 16 Exokernel.
CS533 Concepts of Operating Systems Class 14 Virtualization.
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
Dawson R. Engler, M. Frans Kaashoek, and James O'Tool Jr.
1 Extensible Kernels Ken, with slides by Amar Phanishayee.
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.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 2: Operating-System Structures Modified from the text book.
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.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3.
M. Frans Kaashoek, Dawson R. Engler, Gregory R. Ganger, Hector M. Bricefio, Russell Hunt, David Mazikres, Thomas Pinckney, Robert Grimm, John Jannotti.
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
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,
Paper by Engler, Kaashoek, O’Toole Presentation by Charles Haiber.
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
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
OSes: 3. OS Structs 1 Operating Systems v Objectives –summarise OSes from several perspectives Certificate Program in Software Development CSE-TC and CSIM,
Distributed System Concepts and Architectures 2.3 Services Fall 2011 Student: Fan Bai
MIT’s Exokernel Presented by Victoria Barrow Kyle Safford Sean Sommers.
Operating Systems Structure what is the organizational principle?
4-Dec-15CSE 60641: Operating Systems1 -Exokernel: an operating system architecture for application-level resource management. Dawson R. Engler, M. Frans.
Lecture 5: Threads process as a unit of scheduling and a unit of resource allocation processes vs. threads what to program with threads why use threads.
1.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Lecture 2: OS Structures (Chapter 2.7)
Department of Computer Science and Software Engineering
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.
Advanced Operating Systems (CS 202) Extensible Operating Systems (II) Jan, 13, 2016.
Exokernel: An Operating System Architecture for Application-Level Resource Management By Dawson R. Engler, M. Frans Kaashoek, James O’Toole Jr. Presented.
1.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Lecture 1: Introduction & OS Structures (Part One, Chapters 1&2)
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Exokernel Operating System: An Introduction Liming Shu COSC 513, Summer 2002.
Exokernel: An Operating System Architecture for Application-Level Resource Management by Dawson R. Engler, M. Frans Kaashoek, and James O'Toole Jr. Presented.
Introduction to Operating Systems Concepts
Computer System Structures
Operating System Structures
Extensible OSes Exokernel and SPIN (Lecture 9, cs262a)
Operating System Structure
CS490 Windows Internals Quiz 2 09/27/2013.
Dawson R. Engler, M. Frans Kaashoek, and James O’Toole Jr [SOSP’97]
Modern Systems: Extensible KERNELS AND containers
Chapter 2: System Structures
Some Takeaways… (Lecture 26, cs262a)
CS-3013 Operating Systems Hugh C. Lauer
Extensible OSes Exokernel and SPIN Lecture 19, cs262a
Outline Chapter 2 (cont) OS Design OS structure
EXOKERNEL Gabriel Beltran John Blackman David Martin Kurt Rohrbacher
Operating Systems: A Modern Perspective, Chapter 3
Operating Systems Structure
Modern systems: Extensible Kernels and Containers
Introduction and History
Presentation transcript:

Exokernel: An Operating System Architecture for Application-Level Resource Management" by Dawson R. Engler, M. Frans Kaashoek, and James O'Toole Jr. Chris Franklin CS533 - Concepts of Operating Systems

The Problem  Traditional operating systems fix the interface and implementation of OS abstractions. FIXED Hardware Applications InterfaceAbstractions

The Problem  Performance  Flexibility  Functionality FIXED Hardware Applications InterfaceAbstractions

Example FIXED Hardware Apache InterfaceAbstractions SQL Server Traditional OS

Example Hardware Exokernel – Application level resource management SQL Server Library OS Customized for SQLServer InterfaceAbstractions Library OS Chosen from available Apache InterfaceAbstractions Exokernel

The Issues  Performance Denies applications the advantages of domain- specific optimizations  Flexibility Restricts the flexibility of application builders  Functionality Discourages changes to the implementations of existing abstractions

Performance  There is no single way to abstract physical resources or to implement an abstraction that is best for all applications.  OS is forced to make trade-offs  Performance improvements of application- specific policies could be substantial

Flexibility  Fixed high-level abstractions hide information from applications.  Makes it difficult or impossible for applications to implement their own resource management abstractions.

Functionality  Only one available interface between applications and hardware resources.  Because all applications must share one set of abstractions, changes to these abstractions occur rarely, if ever

The Solution  Separate protection from management Allow user level to manage resources Application libraries implement OS abstractions Exokernel exports resources Low level interface Protects, does not manage Expose hardware

End-to-End Argument  “if something has to be done by the user program itself, it is wasteful to do it in a lower level as well.”  Why should the OS do anything that the user program can do itself?  In other words - all an OS should do is securely allocate resources.

The Exokernel  A thin veneer that multiplexes and exports physical resources securely. Simplicity allows efficiency The lower the level of a primitive, the more efficiently it can be implemented, and the more latitude it grants to implementers of higher level abstractions.

The Exokernel  Resource management is restricted to allocation, revocation, sharing ownership tracking

Library operating systems  Use the low level exokernel interface  Higher level abstractions  Special purpose implementations An application can choose the library which best suits its needs, or even build its own.

Example Exokernel

Another Example

Design Challenge How can an Exokernel allow libOSes to freely manage physical resources while protecting them from each other?

Design Challenge How can an Exokernel allow libOSes to freely manage physical resources while protecting them from each other? Track ownership of resources Guard all resource usage Revoke access to resources

Track ownership of resources Secure bindings – libOS can securely bind to machine resources

Secure Bindings  Exokernel allows libOSes to bind resources using secure bindings Multiplex resources securely Protection for mutually distrusted apps Efficient

Secure Bindings  Secure Binding – a protection mechanism that decouples authorization from actual use of a resource Allows the kernel to protect resources without having to understand them

Guard all resource usage Invisible resource revocation -Efficient – application layer not involved -Traditional OS Visible resource revocation -Allows libOS to guide deallocation and track availability of resources. -Exokernel

Revoke access to resources Abort protocol – Allows exokernel to break secure bindings of an uncooperative libOS by force

Conclusion  An Exokernel securely multiplexes available hardware raw hardware among applications  Application level library operating systems implement higher-level traditional OS abstractions  LibOSes can specialize an implementation to suit a particular application

Conclusion  The lower the level of a primitive… …the more efficiently it can be implemented … the more latitude it gives to higher level abstractions  So, separate management from protection and… …implement protection at a low level (exokernel) … implement management at a higher level (libOS)

References Modern Operating Systems – Andrew Tanenbaum

Some Features  It is possible to have different libOSes, for example, one could export a Unix API and another a Windows API

Exokernel vs. Microkernel A micro-kernel provides abstractions to the hardware such as files, sockets, graphics etc. An exokernel provides almost raw access to the hardware.