CS 5204 Operating Systems Lecture 12

Slides:



Advertisements
Similar presentations
An Overview Of Virtual Machine Architectures Ross Rosemark.
Advertisements

CS533 Concepts of Operating Systems Class 14 Virtualization and Exokernels.
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.
Computing Systems 8, 2015 CS134a: Modern OS (Week 8) Two rounds of research 1980’s: modularity and micro-kernels.
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.
G Robert Grimm New York University Extensibility: SPIN and exokernels.
CS533 Concepts of Operating Systems Class 20 Summary.
The Alta Operating System Patrick Tullmann Masters Thesis Defense University of Utah.
CS533 Concepts of Operating Systems Class 7 Virtualization and Exokernels.
Extensibility, Safety and Performance in the SPIN Operating System Brian Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
CS533 Concepts of Operating Systems Class 16 Exokernel.
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.
Dawson R. Engler, M. Frans Kaashoek, and James O'Tool Jr.
Nooks: an architecture for safe device drivers Mike Swift, The Wild and Crazy Guy, Hank Levy and Susan Eggers.
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.
1 Janos Patrick Tullmann Flux Research Group University of Utah.
Exokernel: An Operating System Architecture for Application-Level Resource Management Dawson R. Engler, M. Frans Kaashoek, and James O’Toole Jr. M.I.T.
Extensible Kernels Mingsheng Hong. OS Kernel Types Monolithic Kernels Microkernels – Flexible (?) – Module Design – Reliable – Secure Extensible Kernels.
School of ComputingJanos Project Processes in KaffeOS: Isolation, Resource Management, and Sharing in Java Godmar Back Wilson HsiehJay Lepreau School of.
CS533 Concepts of OS Class 16 ExoKernel by Constantia Tryman.
KaffeOS: Controlling Resources In A Multi-Process Java Virtual Machine Godmar Back.
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?
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
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.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
CS533 Concepts of Operating Systems Jonathan Walpole.
The xCloud and Design Alternatives Presented by Lavone Rodolph.
EXTENSIBILITY, SAFETY AND PERFORMANCE IN THE SPIN OPERATING SYSTEM
Improving Xen Security through Disaggregation Derek MurrayGrzegorz MilosSteven Hand.
Lecture9 Page 1 CS 236 Online Operating System Security, Con’t CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
CS533 Concepts of Operating Systems Jonathan Walpole.
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.
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.
Introduction to Virtualization
What Do Computers Do? A computer system is
Introduction to Operating Systems
Chapter 2: Operating-System Structures
CS 5204 Operating Systems Kernel Structures Godmar Back.
Operating System Structures
Introduction to Operating Systems
Providing Security for Embedded Devices Through Virtualization
Component Based Software Engineering
Presentation by Omar Abu-Azzah
CS490 Windows Internals Quiz 2 09/27/2013.
Lecture 1 Runtime environments.
Modularity and Memory Clearly, programs must have access to memory
Chapter 2: Operating-System Structures
Introduction to Operating Systems
Introduction to Operating Systems
CS 5204 Operating Systems Lecture 2
Chapter 1: Intro (excerpt)
What is an Operating System?
Chapter 2: System Structures
IMPROVING THE RELIABILITY OF COMMODITY OPERATING SYSTEMS
Operating Systems Lecture 4.
CS533 Concepts of Operating Systems Class 16
Co-designed Virtual Machines for Reliable Computer Systems
CS533 Concepts of Operating Systems Class 6
Lecture 1 Runtime environments.
Operating Systems Structure
CSE 60641: Operating Systems
Advanced Operating Systems (CS 202) Operating System Structure
Presentation transcript:

CS 5204 Operating Systems Lecture 12 Godmar Back

Announcements Change in plans: SPIN paper presentation on Monday Can submit evaluations now or until Monday CS 5204 Fall 2005 12/27/2018

Extensible OS Research in 90s Idea: Extensibility, extensibility, extensibility Number of projects explored different approaches Exokernel (MIT) SPIN (UW) VINO (Harvard) Fluke/OSKit (Utah) Scout (Arizona) L4 (Liedtke/IBM) Nemesis (U Cambridge) CS 5204 Fall 2005 12/27/2018

Exokernel: exterminate all OS abstractions The defining tragedy of the operating systems community has been the definition of an operating system as software that both multiplexes and abstracts physical resources. The view that the OS should abstract the hardware is based on the assumption that it is possible both to define abstractions that are appropriate for all areas and to implement them to perform efficiently in all situations. We believe that the fallacy of this quixotic goal is self-evident, and that the OS problems of the last two decades can be traced back to it. The solution we propose is simple: complete elimination of OS abstractions by lowering the operating system interface to the hardware level. CS 5204 Fall 2005 12/27/2018

SPIN Protection is a software issue First use of a type-safe language to build a kernel (Modula-3) Idea: applications can download code into the kernel safely extensibility safety performance CS 5204 Fall 2005 12/27/2018

SPIN (cont’d) How to manage extensions What if they run for too long? How to unload extensions? How to manage their resources (memory, etc.)? How to foresee what extensions might want to extend? Size of exposed interface How to arbitrate among extensions? Type-safe language issues garbage collection language domain crossings (M3 to C and vice versa) CS 5204 Fall 2005 12/27/2018

Language-based OS If protection is a software issue, why not do away with hardware protection altogether? Inferno OS system by Bell Labs Limbo: typesafe language DIS: virtual machine Early aspirations of Java Java Operating Systems CS 5204 Fall 2005 12/27/2018

Java Operating Systems Two views: A fully-fledged operating system written in Java that runs Java applications. Sun’s first JavaOS, Squawk JVM A JVM that provides an OS-like environment for Java applications. The so enriched JVM can run on top of any OS. J-Kernel, MVM, KaffeOS CS 5204 Fall 2005 12/27/2018

VINO Idea: extensions (“grafts”) are “safe overrides” for functionality at (C-) function level Use a transaction mechanism to recover from misbehaved extensions Full transaction mechanism inside the kernel Based on monitoring load/stores from C++ programs CS 5204 Fall 2005 12/27/2018

Fluke Microkernels meet recursive virtual machines Idea: processes could create whatever abstractions they wished for their descendants CS 5204 Fall 2005 12/27/2018

OSKit Idea: build OS you want from components CS 5204 Fall 2005 12/27/2018

IO-Lite/Flash-Lite Opposing View: Druschel et al HotOS’97 Extensible Kernels are Leading OS Research Astray Extensibility mostly busy solving problems it created Instead, develop, test, decide, and integrate into commodity OS Case in point: IO-Lite & Flash server Zero copy I/O system & event-based webserver Applications control I/O buffer inside kernel CS 5204 Fall 2005 12/27/2018

Discussion What did we learn from extensible OS research? Is extensibility as important as claimed? If not, what is? Is developing entire new OS still feasible today in an academic environment? Is doing so necessary for exciting systems research? CS 5204 Fall 2005 12/27/2018