Tanenbaum 8.3 See references

Slides:



Advertisements
Similar presentations
Virtualization Dr. Michael L. Collard
Advertisements

Virtualization Technology
Virtualisation From the Bottom Up From storage to application.
Virtualization and Cloud Computing
Network Implementation for Xen and KVM Class project for E : Network System Design and Implantation 12 Apr 2010 Kangkook Jee (kj2181)
Disco Running Commodity Operating Systems on Scalable Multiprocessors.
KVM/ARM: The Design and Implementation of the Linux ARM Hypervisor Fall 2014 Presented By: Probir Roy.
Virtualization and the Cloud
Virtualization and the Cloud
Virtual Machines. Virtualization Virtualization deals with “extending or replacing an existing interface so as to mimic the behavior of another system”
Virtualization for Cloud Computing
LINUX Virtualization Running other code under LINUX.
Virtualization 101.
© 2012 The McGraw-Hill Companies, Inc. All rights reserved. 1 Third Edition Chapter 3 Desktop Virtualization McGraw-Hill.
Using Virtualization in the Classroom. Using Virtualization in the Classroom Session Objectives Define virtualization Compare major virtualization programs.
E Virtual Machines Lecture 4 Device Virtualization
Zen and the Art of Virtualization Paul Barham, et al. University of Cambridge, Microsoft Research Cambridge Published by ACM SOSP’03 Presented by Tina.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
CS 149: Operating Systems April 21 Class Meeting
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
SAIGONTECH COPPERATIVE EDUCATION NETWORKING Spring 2010 Seminar #1 VIRTUALIZATION EVERYWHERE.
SAIGONTECH COPPERATIVE EDUCATION NETWORKING Spring 2009 Seminar #1 VIRTUALIZATION EVERYWHERE.
Virtualization. ABCs Special software: hypervisors or virtual machine managers Guest OS (virtual machine) sits on top of host OS (Win 7 in our case) We.
Enabling Technologies for Distributed and Cloud Computing Dr. Sanjay P. Ahuja, Ph.D FIS Distinguished Professor of Computer Science School of.
Using Virtualization in the Classroom. Using Virtualization in the Classroom Session Objectives Define virtualization Compare major virtualization programs.
Virtualization Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation is licensed.
Introduction to Operating Systems Chapter 1. cs431 -cotter2 Lecture Objectives Understand the relationship between computing hardware, operating system,
Network Plus Virtualization Concepts. Virtualization Overview Virtualization is the emulation of a computer environment called a Virtual Machine. A Hypervisor.
Virtual Machine and its Role in Distributed Systems.
Operating Systems ECE344 Ashvin Goel ECE University of Toronto OS-Related Hardware.
Our work on virtualization Chen Haogang, Wang Xiaolin {hchen, Institute of Network and Information Systems School of Electrical Engineering.
Cloud Operating System Unit 09 Cloud OS Core Technology M. C. Chiang Department of Computer Science and Engineering National Sun Yat-sen University Kaohsiung,
Introduction to virtualization
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
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.
Enabling Technologies for Distributed Computing Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing,
Operating-System Structures
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,
Cloud Computing – UNIT - II. VIRTUALIZATION Virtualization Hiding the reality The mantra of smart computing is to intelligently hide the reality Binary->
E Virtual Machines Lecture 1 What is Virtualization? Scott Devine VMware, Inc.
This courseware is copyrighted © 2016 gtslearning. No part of this courseware or any training material supplied by gtslearning International Limited to.
VIRTUAL MACHINE – VMWARE. VIRTUAL MACHINE (VM) What is a VM? – A virtual machine (VM) is a software implementation of a computing environment in which.
CLUG TALK Virtualbox Tuesday, 29 September 2009 One of the Jonathans.
Open Source Virtualization Andrey Meganov RHCA, RHCX Consultant / VDEL
Virtualization Neependra Khare
Welcome to the Virtual Machine Mark Cyzyk The Sheridan Libraries Johns Hopkins University.
Virtualization for Cloud Computing
Introduction to Virtualization
Virtualization.
L2- Virtualization Technology
Virtualization Dr. Michael L. Collard
Virtualization Virtualization is the creation of substitutes for real resources – abstraction of real resources Users/Applications are typically unaware.
Lecture 24 Virtual Machine Monitors
Virtualization overview
Virtual Servers.
Running other code under LINUX
Virtualization Virtualization is the creation of substitutes for real resources – abstraction of real resources Users/Applications are typically unaware.
OS Virtualization.
OS Virtualization.
A Survey on Virtualization Technologies
Virtual machines benefits
Computer Security: Art and Science, 2nd Edition
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Virtualization Dr. S. R. Ahmed.
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
CS295: Modern Systems Virtualization
Presentation transcript:

Tanenbaum 8.3 See references OS Virtualization Tanenbaum 8.3 See references

Outline What is Virtualization? Why would we want it? Why is it hard? How do we do it? Choices cs431-cotter

What is Virtualization? OS virtualization Create a platform that emulates a hardware platform and allow multiple instances of an OS to use that platform, as though they have full and exclusive access to the underlying hardware cs431-cotter

What is Virtualization? Applications Applications Applications Applications OS 1 OS 2 OS 3 OS 4 Virtualization Platform Hardware cs431-cotter

Virtualization – Why? Server Consolidation Disaster Recovery Often many servers support 1 major application Strong isolation between VMs Virtualization saves on hardware & energy Disaster Recovery High Availability Testing and Deployment cs431-cotter

Virtualization – Why? Desktop Consolidation Support for legacy applications Software Development Training cs431-cotter

The Problem OS uses kernel mode / user mode to protect the OS. System calls (privileged instructions) generate a trap (software interrupt) that forces a switch to kernel mode These calls trigger sensitive instructions (I/O, MMU control, etc.) that must only be executed by the kernel cs431-cotter

The Problem If our VM now runs in user space, we cannot run sensitive instructions in it, since those must trap to kernel space. Solved in 2005 with new CPUs Intel Core 2 – VT (Virtualization Technology) AMD Pacific – SVM (Secure Virtual Machine) Provides new instructions that allow VM to capture traps cs431-cotter

Implementation Type 1 Hypervisor Type 2 Hypervisor Paravirtualization cs431-cotter

Type 1 Hypervisor Runs on “bare metal” Virtual machines run in user mode VM runs the guest OS (which thinks it is running in kernel mode) – Virtual kernel Mode If guest OS calls sensitive instructions, hypervisor will trap and execute the instructions. If application on guest OS calls sensitive instructions (system calls), hypervisor traps to guest OS. cs431-cotter

4/20/2017 Type 1 Hypervisors Figure 8-26. When the operating system in a virtual machine executes a kernel-only instruction, it traps to the hypervisor if virtualization technology is present. cs431-cotter Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 cs431-cotter

Type 2 Hypervisor Runs from within a OS. Supports guest OSs above it. 4/20/2017 Type 2 Hypervisor Runs from within a OS. Supports guest OSs above it. Boot from CD to load new OS Read in code, looking for basic blocks Then inspect basic block to find sensitive instructions. If found, replace with VM call (process called binary translation) Then, cache block and execute. Eventually all basic blocks will be modified and cached, and will run at near native speed. cs431-cotter cs431-cotter

Virtualization Platform Type 2 Hypervisor Applications Applications Applications OS 1 OS 2 OS 3 Virtualization Platform Applications Base Operating System Hardware cs431-cotter

Paravirtualization Modify Guest OS so that all calls to sensitive instructions are changed to hypervisor calls. Much easier (and more efficient) to modify source code than to emulate hardware instructions (as in binary translation). In effect, turns the hypervisor into a microkernel. cs431-cotter

Paravirtualization (1) 4/20/2017 Paravirtualization (1) Figure 8-27. A hypervisor supporting both true virtualization and paravirtualization. cs431-cotter Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 cs431-cotter

Problems with Paravirtualization Paravirtualized systems won’t run on native hardware There are many different paravirtualization systems that use different commands, etc. VMware, Xen, etc. Proposed solution: Modify the OS kernel so that it calls a special set of procedures to execute sensitive instructions (Virtual Machine Interface ) Bare metal – link to library that implement code On VM – link to VM specific library cs431-cotter

Paravirtualization (2) 4/20/2017 Paravirtualization (2) Figure 8-28. VMI Linux running on (a) the bare hardware (b) VMware (c) Xen. cs431-cotter Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 cs431-cotter

Products (partial List) 4/20/2017 Products (partial List) Microsoft – Virtual PC, Hyper-V QEMU – Processor Emulation & VM Sun Microsystems – xVM, VirtualBox VMware – ESX Server, Workstation, Fusion, Player, Server Xen – Xen VirtualIron cs431-cotter cs431-cotter

Memory Virtualization OS tracks mapping of virtual memory pages to physical memory pages. Builds page tables, then update paging register (trap). Allow hypervisor to manage page mapping, and use shadow page tables for the VMs cs431-cotter

Memory Virtualization Changes to page tables do NOT trap! One solution: Mark shadow page tables as read only. Then when VM tries to write to table, page fault traps to hypervisor. Paravirtualized OS: Since OS has been modified to account for hypervisor, page table updates can be followed by call to hypervisor about changes. cs431-cotter

I/O Virtualization Each guest OS holds its own “partition”. Typically implemented as a file or region on disk Hypervisor must convert guest OS address (block #) into physical address in region May convert between storage types. Must deal with DMA requests cs431-cotter

VM on Multi-core CPUs Each core can be configured for multiple virtual machines. A Quad-core CPU could be configured as a 32 node multi-computer Limiting factor is often memory. Each guest OS has its own requirements (512 MB?) cs431-cotter

Installing a Virtual machine 4/20/2017 Installing a Virtual machine Will first install VirtualBox as hypervisor Base OS is Windows 7 Guest OS will be Ubuntu 12.04.1 cs431-cotter cs431-cotter

Installing VirtualBox cs431-cotter

Installing VirtualBox cs431-cotter

Installing VirtualBox cs431-cotter

Installing VirtualBox cs431-cotter

Installing Ubuntu VM cs431-cotter

Installing Ubuntu VM cs431-cotter

Installing Ubuntu VM cs431-cotter

Installing Ubuntu VM cs431-cotter

Installing Ubuntu VM cs431-cotter

Installing Ubuntu VM cs431-cotter

Installing Ubuntu VM cs431-cotter

Installing Ubuntu VM cs431-cotter

Summary Virtualization provides a way to consolidate OS installations onto fewer hardware platforms 3 basic approaches type 1 hypervisor type 2 hypervisor Paravirtualization Must also account for virtual access to shared resources (memory, I/O) cs431-cotter

References Virtual Machine Interface VirtualBox http://vmi.ncsa.uiuc.edu/ VirtualBox https://www.virtualbox.org Xen Hypervisor (Red Hat Linux) http://www.xen.org/ Virtual PC 2007 http://www.microsoft.com cs431-cotter

Questions In terms of resource allocation does a type 1 hypervisor leave more or less space for guest OSs than a type 2 hypervisor? Why? In terms of a access to a guest OS, what is the difference between a bridged interface and a NAT interface? What changes are needed to convert a guest OS into a paravirtualized OS? Why has virtualization not been available on PCs until recently (2005)? cs431-cotter