Unmodified Device Driver Reuse and Improved System Dependability via Virtual Machines J. LeVasseur V. Uhlig J. Stoess S. G¨otz University of Karlsruhe,

Slides:



Advertisements
Similar presentations
Unmodified Device Driver Reuse and Improved System Dependability via Virtual Machines Joshua Le Vasseur, Volkmar Uhlig, Jan Stoess, Stefan Gotz – OSDI-2004.
Advertisements

CS533 Concepts of Operating Systems Class 14 Virtualization and Exokernels.
XEN AND THE ART OF VIRTUALIZATION Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, lan Pratt, Andrew Warfield.
Bart Miller. Outline Definition and goals Paravirtualization System Architecture The Virtual Machine Interface Memory Management CPU Device I/O Network,
Xen , Linux Vserver , Planet Lab
CS533 Concepts of Operating Systems Class 14 Virtualization.
Operating System Structure. Announcements Make sure you are registered for CS 415 First CS 415 project is up –Initial design documents due next Friday,
© 2004, D. J. Foreman 1 CS350 Operating Systems. © 2004, D. J. Foreman 2 Administrivia  Assignments ■ Homework on most chapters ■ Approximately 8 lab.
Cloud Computing and Virtualization Sorav Bansal CloudCamp 2010 IIT Delhi.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Virtualization for Cloud Computing
Xen and the Art of Virtualization Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, Andrew Warfield.
CSE598C Virtual Machines and Their Applications Operating System Support for Virtual Machines Coauthored by Samuel T. King, George W. Dunlap and Peter.
Virtualization Technology Prof D M Dhamdhere CSE Department IIT Bombay Moving towards Virtualization… Department of Computer Science and Engineering, IIT.
Zen and the Art of Virtualization Paul Barham, et al. University of Cambridge, Microsoft Research Cambridge Published by ACM SOSP’03 Presented by Tina.
Ceng Operating Systems
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
UNIX System Administration OS Kernal Copyright 2002, Dr. Ken Hoganson All rights reserved. OS Kernel Concept Kernel or MicroKernel Concept: An OS architecture-design.
1 Unmodified Device Driver Reuse and Improved System Dependability via Virtual Machines Joshua LeVasseur, Volkmar Uhlig, Jan Stoess, and Stefan G¨otz University.
Disco : Running commodity operating system on scalable multiprocessor Edouard et al. Presented by Jonathan Walpole (based on a slide set from Vidhya Sivasankaran)
CS533 Concepts of Operating Systems Jonathan Walpole.
Operating System Support for Virtual Machines Samuel T. King, George W. Dunlap,Peter M.Chen Presented By, Rajesh 1 References [1] Virtual Machines: Supporting.
Virtualization Concepts Presented by: Mariano Diaz.
Xen I/O Overview. Xen is a popular open-source x86 virtual machine monitor – full-virtualization – para-virtualization para-virtualization as a more efficient.
The Entropia Virtual Machine for Desktop Grids Brad Calder, Andrew A. Chien, Ju Wang, Don Yang – VEE-2005 Raju Kumar CS598C: Virtual Machines.
April 2000Dr Milan Simic1 Network Operating Systems Windows NT.
Chapter 2 Operating System Overview
CS533 Concepts of Operating Systems Jonathan Walpole.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
Can We Make Operating Systems Reliable and Secure? Andrew S. Tanenbaum, Jorrit N. Herder, and Herbert Bos Vrije Universiteit, Amsterdam May 2006 Group.
Copyright © cs-tutorial.com. Overview Introduction Architecture Implementation Evaluation.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
Outline for Today Announcements –1 st programming assignment coming soon. Objective of the lecture –OS and Virtual Machines.
Disco : Running commodity operating system on scalable multiprocessor Edouard et al. Presented by Vidhya Sivasankaran.
KIT – The cooperation of Forschungszentrum Karlsruhe GmbH and Universität Karlsruhe (TH) SYSTEM ARCHITECTURE GROUP, KARLSRUHE UNIVERSITY A Microkernel.
Chapter 2 Introduction to OS Chien-Chung Shen CIS, UD
Operating Systems Structure what is the organizational principle?
CS 346 – Chapter 2 OS services –OS user interface –System calls –System programs How to make an OS –Implementation –Structure –Virtual machines Commitment.
Improving Xen Security through Disaggregation Derek MurrayGrzegorz MilosSteven Hand.
UNIX Unit 1- Architecture of Unix - By Pratima.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Full and Para Virtualization
Operating-System Structures
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
CENG334 Introduction to Operating Systems 1 Erol Sahin Dept of Computer Eng. Middle East Technical University Ankara, TURKEY URL:
Cloud Computing – UNIT - II. VIRTUALIZATION Virtualization Hiding the reality The mantra of smart computing is to intelligently hide the reality Binary->
Chapter 2 Introduction to OS 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
Computer System Structures
Computer System Structures
Virtualization.
Operating System Structures
Kernel Design & Implementation
Why VT-d Direct memory access (DMA) is a method that allows an input/output (I/O) device to send or receive data directly to or from the main memory, bypassing.
Providing Security for Embedded Devices Through Virtualization
Operating System Structure
Virtualization overview
Xen: The Art of Virtualization
KERNEL ARCHITECTURE.
Running other code under LINUX
Group 8 Virtualization of the Cloud
Chapter 3: Windows7 Part 1.
OS Virtualization.
Chapter 2: System Structures
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
SCONE: Secure Linux Containers Environments with Intel SGX
Outline Operating System Organization Operating System Examples
Xen and the Art of Virtualization
Presentation transcript:

Unmodified Device Driver Reuse and Improved System Dependability via Virtual Machines J. LeVasseur V. Uhlig J. Stoess S. G¨otz University of Karlsruhe, Germany Presented by: Aaron Beach Northwestern University

Outline 1. Intro 2. General Approach to Driver Re-use – - Basic Principles – - Architecture and Design Overview – - The Virtual Machine 3. Evaluation – - CPU and memory overhead – - Comparison with native Linux

Intro Basic idea: – - Run device drivers within their native OS in a virtual machine. – - Provide easy interface for client OS to use Why reuse driver code (or binary) – - Device driver code accounts for a large percentage of total operating system code – - Can enforce proper protection and modularity between device drivers and OS

Driver Design 1. Basic Principles 2. Architecture and Design Overview 3. The Virtual Machine 4. More Design Features 5. Biggest Design Issues - Memory - I/O - Other Problems (timing, Sharing Resources)

Driver Design Basic Principles for Reuse Resource Delegation – - Bulk Resources only, page level easier to standardize Separation of Name Spaces – - Within its own address space (proper protection) Separation of Privilege Secure Isolation – - Proper memory management, careful sharing Common API – - General necessity of reuse and standardization

Architecture Design Overview DD/OS – - Device Driver OS Virtual Machines – - Protection and Abstraction domain Client – - Uses Drivers via through the VM Translation Module – - The interface (glue) between client and the DD/OS

The Virtual Machine The Hyperviser – - Base kernel with ultimate privileges The VMM – - Virtualization layer, actually manages the Vms Device Management is direct (pass-through) – - i.e. VM-OS is given direct access to devices – OS -> Device OS <- VM <- Translation Module <- Client

Design Features: Client and Dependability Client interface provided by translation module – - Uses interrupts to be invoked and to respond Modularity – - Device failure and crashes are contained within VM – - VM can be rebooted VM Isolation – - VM enforces isolation, even if device does not

Issue: Memory DMA and VMM address translation – - DMA can't work directly in a VM because there is an extra layer of address translation and the DMA would try to directly access the wrong memory Solutions? – - DMA address translation is always done by VMM – - To give VM direct access to DMA, then the VM must be mapped directly to hardware addresses This creates a conflict of performance vs trust – - If there is trust then less protection is needed – - Otherwise, Translation must be used and the translations must stay constant during DMA... – - This also requires that pinning be governed

Issues: I/O, Resource Consumption, Timing I/O – - PCI bus is time multi-plexed... hurts performance Resource Consumption – - Overhead and Driver Resource Consumption extends beyond the VM – - Some efficiency can be gained by sharing memory footprints and VMM memory management Timing – - System may pre-empt real-time critical drivers – - Solution involves carrying VM interrupt disable actual machine interrupt disabling

Evaluation: Overhead Resources

CPU and Bandwidth Native Linux vs. L4 Paravirtualization

Conclusions Main Point: Driver Reuse Unmodified drivers Running in native OS Smaller implementation effort than rewriting Dependability (protection and modularity) Achieved with 3-8% overhead