Unformatted text preview:

Virtual Machine MonitorsBibliographyOutlineWhat is a Virtual Machine?A Formal DefinitionWhat is a Virtual Machine Monitor?Full Virtualization versus ParavirtualizationSlide 8Slide 9VM – How They WorkVirtualization versus EmulationSystem & Process VMs http://en.wikipedia.org/wiki/Virtual_machineVirtual Machines – ExamplesHistory - Why VMM’s?Virtual Machines - HistoryHistory – 1980s & 1990sHistory – late 90s to todayRationale for VMMs TodayExample Virtual Machine SystemsReasons for Adopting VMM’sSecurity and IsolationEncapsulationServersDesirable QualitiesImplementation IssuesCPU VirtualizationProtection RingsExample: Disable Interrupts [1]Direct Execution Not Always PossibleTwo Ways to Handle Non-virtualizable InstructionsParavirtualizationBinary TranslationComparisonTechniques – Hardware SupportMemory VirtualizationPaging Out the Virtual MachineChallengesBalloon ProcessOther Virtual Memory ChallengesVirtual Machines - ExamplesHosted versus Non-hosted VMMSlide 42Virtual Machines - ExamplesDenaliIsolation KernelVirtual Machine MonitorsBibliography1. “Virtual Machine Monitors: Current Technology And Future Trends”, Mendel Rosenblum and Tal Garfinkel, IEEE Computer, May 20052. “Xen and the Art of Virtualization”, P. Barham, R. Dragovic, K. Fraser, S. Hand, T. Harris, A Ho, R. Neugebauer, I. Pratt, A. Warfield, SOSP ’03.3. The Definitive Guide to the Xen Hypervisor, David Chisnall, Prentice Hall, 2008.4. “Scale and Performance in the Denali Isolation Kernel”, Andrew Whitaker, Marianne Shaw, and Steven D. Gribble, in System Design and Implementation (OSDI), Boston, MA, Dec. 2002.5. Xen Homepage: http://www.cl.cam.ac.uk/research/srg/netos/xen/Outline•Overview–What is a virtual machine?–What is a virtual machine monitor (VMM)?–System or application virtual machines•History of Virtual Machines•Benefits of Virtual Machines•Issues and ImplementationWhat is a Virtual Machine?•Several definitions and implementations.•Here, a virtual machine is an isolated environment that appears to be a whole computer, but actually only has access to a portion of the computer’s resources.A Formal Definition•“The environment in which a hosted operating system runs, providing the abstraction of a dedicated machine. A virtual machine may be identical to the underlying hardware (full virtualization) or it may differ slightly (paravirtualization).”www.linuxtopia.org/online_books/linux_virtualization/xen_3.0_user_guide/linux_virualization_xen_user_78.htmlWhat is a Virtual Machine Monitor?•A virtual machine monitor (VMM) is a thin software layer that runs directly on the bare hardware •It partitions the computer’s resources into one or more virtual machines•Each virtual machine appears to be running on the bare hardware.•End result – the appearance of multiple instances of the same computer, but all are supported on a single machine.Full Virtualization versus Paravirtualization•Full virtualization: each virtual machine runs on an exact copy of the underlying hardware. •Paravirtualization: the VMM modifies the underlying hardware somewhat–Because some aspects of the hardware can’t be virtualized–To present a simpler interface; improve performance.Virtual machine layer - VMMHardware layerApplicationGuest OS1ApplicationGuest OS2ApplicationGuest OS3VM1 VM2 VM3Hardware layerOperating systemVMMVM1VM2Sometimes a virtual machine monitor is installed on an existing operating machine.More about this later.VM – How They Work•When an application process makes a system call, it is received by its own OS, running (in user mode) on its private virtual machine.•When the “guest” OS tries to execute a privileged instruction, the virtual machine software traps the operation and ensures that it is executed correctly & safely–e.g., when a guest OS appears to execute an I/O system call, the “host” VM monitor is actually in charge.Virtualization versus Emulation •Virtualization presents multiple copies of the same hardware system.–Direct execution of code on the hardware•Emulation presents a model of another hardware system–Instructions are “emulated” in software – much slower than virtualization –Example: Microsoft’s VirtualPC can run on other chipsets than the x86 family; used on Mac hardware until Apple adopted Intel chipsSystem & Process VMshttp://en.wikipedia.org/wiki/Virtual_machine •System virtual machine (hardware virtual machine)–Multiplex the underlying hardware–Each VM can run its own OS –Each VM is securely isolated from others•Process or application virtual machine–Runs inside a normal OS–Provides a platform-independent host for an application–For example, the Java Virtual MachineVirtual Machines – Examples•Denali was designed to support Internet services by providing a platform that allows a large number of servers to run on a single server machine.•Paravirtualizes x86 architecture to improve performance and scalability•“Isolation kernel”: isolates each server in a virtual machine to reduce the danger of sharing physical resources with untrusted servers.History - Why VMM’s?•Early computers were large (mainframes) and expensive•VMM approach allowed the machine to be safely multiplexed among many different applications•As an alternative to multiprogrammingVirtual Machines - History•Early example: the IBM 370 –VM/370 is the virtual machine monitor–As each user logs on, a new “virtual machine” is created–CMS, a single-user, interactive OS was commonly run as the OS•Separation of powers:–Virtual machine interacts with user applications –Virtual machine monitor manages hardware resourcesHistory – 1980s & 1990s•As hardware got cheaper and operating systems became better equipped to handle multitasking, the original motivation went away.•Hardware platforms gradually eliminated hardware support for virtualization.•And then …History – late 90s to today•Massively parallel processors (MPPs) were developed during the 1990s; they were hard to program and did not support existing operating systems•Researchers at Stanford used virtualization to make MPPs look more like traditional machines•Result: VMware Inc. – supplier of VMMs for commodity hardwareRationale for VMMs Today•Today, security and encapsulation are the most important reasons for using VMMs•“…VMMs give operating systems developers another opportunity to develop functionality no longer


View Full Document

UAH CS 690 - Virtual Machine Monitors

Download Virtual Machine Monitors
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Virtual Machine Monitors and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Virtual Machine Monitors 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?