Lecture 13: Virtual Machines

Slides:



Advertisements
Similar presentations
Virtualization Technology
Advertisements

E Virtual Machines Lecture 3 Memory Virtualization
1 Disco: Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine, Mendel Rosenblum, Stanford University, 1997 Presented.
Disco Running Commodity Operating Systems on Scalable Multiprocessors Presented by Petar Bujosevic 05/17/2005 Paper by Edouard Bugnion, Scott Devine, and.
CS-3013 & CS-502, Summer 2006 Virtual Machine Systems1 CS-502 Operating Systems Slides excerpted from Silbershatz, Ch. 2.
G Robert Grimm New York University Disco.
1 Disco: Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine, and Mendel Rosenblum, Stanford University, 1997.
Virtualization and the Cloud
Introduction to Virtual Machines
Virtual Machine Monitors CSE451 Andrew Whitaker. Hardware Virtualization Running multiple operating systems on a single physical machine Examples:  VMWare,
LINUX Virtualization Running other code under LINUX.
CSE 451: Operating Systems Winter 2012 Module 18 Virtual Machines Mark Zbikowski and Gary Kimura.
E Virtual Machines Lecture 4 Device Virtualization
Virtual Machine Monitors. Bibliography 1.“Virtual Machine Monitors: Current Technology And Future Trends”, Mendel Rosenblum and Tal Garfinkel, IEEE Computer,
Tanenbaum 8.3 See references
Zen and the Art of Virtualization Paul Barham, et al. University of Cambridge, Microsoft Research Cambridge Published by ACM SOSP’03 Presented by Tina.
CS 149: Operating Systems April 21 Class Meeting
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
Virtualization Concepts Presented by: Mariano Diaz.
CS533 Concepts of Operating Systems Jonathan Walpole.
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine, and Mendel Rosenblum Summary By A. Vincent Rayappa.
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.
Cloud Operating System Unit 09 Cloud OS Core Technology M. C. Chiang Department of Computer Science and Engineering National Sun Yat-sen University Kaohsiung,
Virtual Memory Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University.
Introduction to virtualization
MEMORY RESOURCE MANAGEMENT IN VMWARE ESX SERVER 김정수
Full and Para Virtualization
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,
Lecture 12 Virtualization Overview 1 Dec. 1, 2015 Prof. Kyu Ho Park “Understanding Full Virtualization, Paravirtualization, and Hardware Assist”, White.
Operating-System Structures
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Presented by: Pierre LaBorde, Jordan Deveroux, Imran Ali, Yazen Ghannam, Tzu-Wei.
CSE 451: Operating Systems Winter 2015 Module 25 Virtual Machine Monitors Mark Zbikowski Allen Center 476 © 2013 Gribble, Lazowska,
CS 140 Lecture Notes: Virtual MachinesSlide 1 Process Abstraction Instruction Set Registers MMU I/O Devices Physical Memory Virtual Memory System Calls.
E Virtual Machines Lecture 1 What is Virtualization? Scott Devine VMware, Inc.
Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine and Mendel Rosenblum Presentation by Mark Smith.
Unit 2 VIRTUALISATION. Unit 2 - Syllabus Basics of Virtualization Types of Virtualization Implementation Levels of Virtualization Virtualization Structures.
Operating Systems, 2016, Meni Adler, Danny Hendler & Amnon Meisels
Translation Lookaside Buffer
Introduction to Virtualization
Virtualization.
Virtual Machine Monitors
Virtualization Technology
Presented by Mike Marty
CS 3214 Introduction to Computer Systems
CS 3214 Operating Systems Virtualization.
CS 3214 Operating Systems Virtualization Godmar Back.
CS352H: Computer Systems Architecture
Lecture 24 Virtual Machine Monitors
Morgan Kaufmann Publishers Large and Fast: Exploiting Memory Hierarchy
Disco: Running Commodity Operating Systems on Scalable Multiprocessors
Running other code under LINUX
Group 8 Virtualization of the Cloud
CS 140 Lecture Notes: Virtual Machines
OS Virtualization.
OS Virtualization.
A Survey on Virtualization Technologies
CS 140 Lecture Notes: Virtual Machines
Virtual machines benefits
CS533 Concepts of Operating Systems Class 15
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
CS533 Concepts of Operating Systems Class 15
Lecture 13 Harvard architecture Coccone OS demonstrator
CS 140 Lecture Notes: Virtual Machines
Xen and the Art of Virtualization
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
CS295: Modern Systems Virtualization
Slides from E0-253 taught by Arkaprava Basu and Vinod Ganapathy
Hypervisor A hypervisor or virtual machine monitor (VMM) is computer software, firmware or hardware that creates and runs virtual machines. A computer.
Presentation transcript:

Lecture 13: Virtual Machines Operating Systems ECE344 Lecture 13: Virtual Machines Ding Yuan

© 2016-2017 DING YUAN ALL RIGHTS RESERVED Virtualization “A technique for hiding the physical characteristics of computing resources from the way in which other systems, applications, or end users interact with those resources.” © 2016-2017 DING YUAN ALL RIGHTS RESERVED

Virtual machine structures Image source: https://en.wikipedia.org/wiki/Hypervisor © 2016-2017 DING YUAN ALL RIGHTS RESERVED

© 2016-2017 DING YUAN ALL RIGHTS RESERVED But why is it useful? Resource consolidation & isolation Cloud computing Embedded systems Testing DevOps Image source: https://en.wikipedia.org/wiki/Hypervisor © 2016-2017 DING YUAN ALL RIGHTS RESERVED

© 2016-2017 DING YUAN ALL RIGHTS RESERVED Old idea from the 1960s IBM VM/370 Run different OS instances Desirable when few machines is around Popular research idea in 60s and 70s Entire conferences on virtual machine monitor Hardware/VMM/OS designed together Interest died out in the 1980s and 1990s Why? © 2016-2017 DING YUAN ALL RIGHTS RESERVED

A return to virtual machines Disco: Stanford research project (SOSP’97) By Edouard Bugnion, Scott Devine, and Mendel Rosenblum Rosenblum is the author of log-structured file system So OS developers won’t change their code for new hardware Commercial VM for x86 VMware (later EMC, now Dell) Connectix VirtualPC (now Microsoft) Research virtual machines Xen (SOSP’03) © 2016-2017 DING YUAN ALL RIGHTS RESERVED

© 2016-2017 DING YUAN ALL RIGHTS RESERVED How do we virtualize? Goal: virtualize a physical machine Resources CPU Memory Storage Image source: https://en.wikipedia.org/wiki/Hypervisor © 2016-2017 DING YUAN ALL RIGHTS RESERVED

© 2016-2017 DING YUAN ALL RIGHTS RESERVED Virtualizing CPU Translate? Too slow But more on this later… Trap-and-emulate H/W support (kernel + user mode) Guest OS in user mode Trap into hypervisor on privileged inst. Modern CPUs have virtualization support 3 modes: kernel, supervisor, user Image source: https://en.wikipedia.org/wiki/Hypervisor © 2016-2017 DING YUAN ALL RIGHTS RESERVED

© 2016-2017 DING YUAN ALL RIGHTS RESERVED Virtualizing memory Image source: http://www.anandtech.com/show/2480/10 Shadow page table: isolate VM’s memory © 2016-2017 DING YUAN ALL RIGHTS RESERVED

© 2016-2017 DING YUAN ALL RIGHTS RESERVED MIPS implementation What does TLB store? VA -> MA But how do we prevent one VM from accessing the other VM’s memory? Trap on every TLB miss and TLB write Image source: http://www.anandtech.com/show/2480/10 TLB © 2016-2017 DING YUAN ALL RIGHTS RESERVED

© 2016-2017 DING YUAN ALL RIGHTS RESERVED How about x86? Hardware managed TLB MMU performs page table lookup on TLB miss What are the complications? Hardware support for virtualization! MMU can walk nested page table! Image source: http://www.anandtech.com/show/2480/10 Page table © 2016-2017 DING YUAN ALL RIGHTS RESERVED

© 2016-2017 DING YUAN ALL RIGHTS RESERVED Virtualizing I/O Trap-and-emulate on every hardware access Too slow, so modify the device driver to use special “monitor call” (similar to syscall) © 2016-2017 DING YUAN ALL RIGHTS RESERVED

© 2016-2017 DING YUAN ALL RIGHTS RESERVED Binary translation Used by VMware at one point Imperfect hardware (x86) doesn’t allow perfect trap-and-emulate popf (pop flags): might modify interrupt flag (IF) when executed in kernel mode, but suppress the attempt to modify IF when executed in user mode Code segment selector (%cs) have two bits storing the kernel/user mode, can be read by user mode No longer used today b/c of more powerful H/W support © 2016-2017 DING YUAN ALL RIGHTS RESERVED