Operating System Support for Virtual Machines Sam King George Dunlap Peter Chen CoVirt Project, University of Michigan.

Slides:



Advertisements
Similar presentations
Debugging operating systems with time-traveling virtual machines Sam King George Dunlap Peter Chen CoVirt Project, University of Michigan.
Advertisements

© 2010 VMware Inc. All rights reserved Application-level mobile virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th.
CS533 Concepts of Operating Systems Class 14 Virtualization and Exokernels.
User-Mode Linux Ken C.K. Lee
Memory Protection: Kernel and User Address Spaces  Background  Address binding  How memory protection is achieved.
Bart Miller. Outline Definition and goals Paravirtualization System Architecture The Virtual Machine Interface Memory Management CPU Device I/O Network,
Virtual Machines Measure Up John Staton Karsten Steinhaeuser University of Notre Dame December 15, 2005 Graduate Operating Systems, Fall 2005 Final Project.
OS Spring’03 Introduction Operating Systems Spring 2003.
Microkernels: Mach and L4
KVM/ARM: The Design and Implementation of the Linux ARM Hypervisor Fall 2014 Presented By: Probir Roy.
OS Spring’04 Introduction Operating Systems Spring 2004.
Chapter 6 - Implementing Processes, Threads and Resources Kris Hansen Shelby Davis Jeffery Brass 3/7/05 & 3/9/05 Kris Hansen Shelby Davis Jeffery Brass.
Operating System Support for Virtual Machines Samuel King, George Dunlap, Peter Chen Univ of Michigan Ashish Gupta.
ThreadsThreads operating systems. ThreadsThreads A Thread, or thread of execution, is the sequence of instructions being executed. A process may have.
Virtual Machine Monitors CSE451 Andrew Whitaker. Hardware Virtualization Running multiple operating systems on a single physical machine Examples:  VMWare,
CSE598C Virtual Machines and Their Applications Operating System Support for Virtual Machines Coauthored by Samuel T. King, George W. Dunlap and Peter.
CSE 451: Operating Systems Autumn 2013 Module 6 Review of Processes, Kernel Threads, User-Level Threads Ed Lazowska 570 Allen.
Virtualization Technology Prof D M Dhamdhere CSE Department IIT Bombay Moving towards Virtualization… Department of Computer Science and Engineering, IIT.
SymCall: Symbiotic Virtualization Through VMM-to-Guest Upcalls John R. Lange and Peter Dinda University of Pittsburgh (CS) Northwestern University (EECS)
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
Protection and the Kernel: Mode, Space, and Context.
CS533 Concepts of Operating Systems Jonathan Walpole.
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.
Operating System Support for Virtual Machines Sam King George Dunlap Peter Chen CoVirt Project, University of Michigan.
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
VirtualBox What you need to know to build a Virtual Machine.
Introduction 1-1 Introduction to Virtual Machines From “Virtual Machines” Smith and Nair Chapter 1.
Operating Systems ECE344 Ashvin Goel ECE University of Toronto OS-Related Hardware.
The Performance of Micro-Kernel- Based Systems H. Haertig, M. Hohmuth, J. Liedtke, S. Schoenberg, J. Wolter Presentation by: Seungweon Park.
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Edouard et al. Madhura S Rama.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
Disco : Running commodity operating system on scalable multiprocessor Edouard et al. Presented by Vidhya Sivasankaran.
The Performance of μ-Kernel-Based Systems H. Haertig, M. Hohmuth, J. Liedtke, S. Schoenberg, J. Wolter Presenter: Sunita Marathe.
Processes and Virtual Memory
Lecture 26 Virtual Machine Monitors. Virtual Machines Goal: run an guest OS over an host OS Who has done this? Why might it be useful? Examples: Vmware,
The Performance of Micro-Kernel- Based Systems H. Haertig, M. Hohmuth, J. Liedtke, S. Schoenberg, J. Wolter Presentation by: Tim Hamilton.
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
CSE 451: Operating Systems Winter 2015 Module 25 Virtual Machine Monitors Mark Zbikowski Allen Center 476 © 2013 Gribble, Lazowska,
Virtualizing a Multiprocessor Machine on a Network of Computers Easy & efficient utilization of distributed resources Goal Kenji KanedaYoshihiro OyamaAkinori.
Threads, SMP, and Microkernels Chapter 4. Processes and Threads Operating systems use processes for two purposes - Resource allocation and resource ownership.
6/13/20161 Operating Systems Design (CS 423) Elsa L Gunter 2112 SC, UIUC Based on slides by Roy Campbell, Sam King,
Agile Paging: Exceeding the Best of Nested and Shadow Paging
Embedded Real-Time Systems
Memory Protection: Kernel and User Address Spaces Andy Wang Operating Systems COP 4610 / CGS 5765.
Virtual Machine Monitors
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.
Memory Protection: Kernel and User Address Spaces
CS352H: Computer Systems Architecture
Operating System Support for Virtual Machines
Operating Systems Design (CS 423)
Lecture 24 Virtual Machine Monitors
OS Virtualization.
Memory Protection: Kernel and User Address Spaces
Memory Protection: Kernel and User Address Spaces
Memory Protection: Kernel and User Address Spaces
Operating System Support for Virtual Machines
A Survey on Virtualization Technologies
CSE 451: Operating Systems Spring 2012 Module 6 Review of Processes, Kernel Threads, User-Level Threads Ed Lazowska 570 Allen.
CS 140 Lecture Notes: Virtual Machines
Computer Security: Art and Science, 2nd Edition
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Introduction to Virtual Machines
Introduction to Virtual Machines
CS 140 Lecture Notes: Virtual Machines
Xen and the Art of Virtualization
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Memory Protection: Kernel and User Address Spaces
Presentation transcript:

Operating System Support for Virtual Machines Sam King George Dunlap Peter Chen CoVirt Project, University of Michigan

Sam KingOperating System Support for Virtual Machines2 of 18 Virtual Machines Software abstraction of a machine Software backward compatibility Convenient place for new services Strong isolation

Sam KingOperating System Support for Virtual Machines3 of 18 Virtual Machine Configurations Runs directly on hardware Good performance Uses existing host OS abstractions to implement services Poor performance Type I VMM Hardware Virtual Machine Monitor Guest Operating System Guest Process Type II VMM Virtual Machine Monitor Guest Operating System Host Operating System Hardware Guest Process

Sam KingOperating System Support for Virtual Machines4 of 18 Can we have Type I performance with Type II elegance? Yes! Only 510 lines of code added to Linux Type II VMM attain performance that approaches type I VMM

Sam KingOperating System Support for Virtual Machines5 of 18 Presentation Outline Background on UMLinux Discussion of optimizations Conclusions

Sam KingOperating System Support for Virtual Machines6 of 18 UMLinux Architecture Linux on top of Linux Port of Linux to run in UMLinux ptrace used for virtualization –intercept guest system calls –track guest user / kernel mode transitions Guest OS Linux Operating System PC Hardware Guest Process UMLinux VMM

Sam KingOperating System Support for Virtual Machines7 of 18 Hardware Equivalents

Sam KingOperating System Support for Virtual Machines8 of 18 Performance

Sam KingOperating System Support for Virtual Machines9 of 18 Original UMLinux Guest System Call Host operating system VMM Process Guest application Guest operating system

Sam KingOperating System Support for Virtual Machines10 of 18 Move VMM to Host Kernel Host operating system VMM Process Guest application Guest operating system VMM Process

Sam KingOperating System Support for Virtual Machines11 of 18 Performance

Sam KingOperating System Support for Virtual Machines12 of 18 Switching Guest Modes Significant number of guest kernel / user mode crossings –Kernel compile benchmark: 22 million guest memory exceptions 1.4 million guest system calls Protection provided using mprotect system calls Instead, use x86 segmentation hardware

Sam KingOperating System Support for Virtual Machines13 of 18 Use Segmentation Bounds for Kernel Protection Guest OS 0x Guest Apps 0x guest kernel- mode segment bound Host OS 0xffffffff 0xc Accessible Memory Guest OS 0x Guest Apps 0x guest user- mode segment bound Host OS 0xffffffff 0xc Accessible Memory

Sam KingOperating System Support for Virtual Machines14 of 18 Performance

Sam KingOperating System Support for Virtual Machines15 of 18 Original UMLinux Guest Application Context Switching proc_a mem proc_b mem RAM File process_a running 0x8000 Guest Application Memory proc_a mem proc_b mem 0x8000 RAM File process_b page at 0x8000 mapped in, process_b executes Guest Application Memory

Sam KingOperating System Support for Virtual Machines16 of 18 Multiple Address Space Definitions Instead, modify hardware page table pointer Page Table Ptr Host operating system Guest OS guest proc a guest proc bswitchguest syscall

Sam KingOperating System Support for Virtual Machines17 of 18 Final Performance Results

Sam KingOperating System Support for Virtual Machines18 of 18 Conclusion Existing OS abstractions sufficient, slow Fast interception of signals and exceptions Expose power of underlying hardware Type II VMM CAN be as fast as type I Questions?

Sam KingOperating System Support for Virtual Machines19 of 18 Related Work User-Mode-Linux SUNY Palladium Mach, Exokernel, L4 Wisconsin Wind Tunnel

Sam KingOperating System Support for Virtual Machines20 of 18 Further Areas of Improvement Asynchronous I/O Exception Handling