Virtual Machines. Virtual Machines



Similar documents
Introduction to Virtual Machines

Virtualization. Pradipta De

Cloud Computing #6 - Virtualization

Virtual Machines. Adapted from J.S. Smith and R. Nair, VIRTUAL MACHINES, Morgan-Kaufmann Teodor Rus.

A Unified View of Virtual Machines

Cloud Computing. Up until now

Virtual Computing and VMWare. Module 4

Multi-core Programming System Overview

Full and Para Virtualization

12. Introduction to Virtual Machines

An Overview of Virtual Machine Architectures

Virtualization. Dr. Yingwu Zhu

Virtual Machines and Their Architecture

Virtualization. Jia Rao Assistant Professor in CS

COM 444 Cloud Computing

Basics in Energy Information (& Communication) Systems Virtualization / Virtual Machines

COS 318: Operating Systems. Virtual Machine Monitors

Basics of Virtualisation

Distributed and Cloud Computing

Cloud Computing CS

General Introduction

Section 1.4. Java s Magic: Bytecode, Java Virtual Machine, JIT,

x86 ISA Modifications to support Virtual Machines

An Introduction to Virtual Machines Implementation and Applications

Virtualization and Other Tricks.

System Virtual Machines

Virtual Machines.

Virtual Machines. Virtualization

Outline. Outline. Why virtualization? Why not virtualize? Today s data center. Cloud computing. Virtual resource pool

Virtualization. Types of Interfaces

System Structures. Services Interface Structure

CS 695 Topics in Virtualization and Cloud Computing. Introduction

Virtualization. Jukka K. Nurminen

Uses for Virtual Machines. Virtual Machines. There are several uses for virtual machines:

Virtualization with Windows

Distributed Systems. Virtualization. Paul Krzyzanowski

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

Clouds Under the Covers. Elgazzar - CISC Fall

Virtual Machine Security

Chapter 5 Cloud Resource Virtualization

CS 695 Topics in Virtualization and Cloud Computing and Storage Systems. Introduction

The Art of Virtualization with Free Software

Virtualization and the U2 Databases

nanohub.org An Overview of Virtualization Techniques

Chapter 14 Virtual Machines

CS 695 Topics in Virtualization and Cloud Computing. More Introduction + Processor Virtualization

Virtualization. Introduction to Virtualization Virtual Appliances Benefits to Virtualization Example Virtualization Products

PERFORMANCE ANALYSIS OF KERNEL-BASED VIRTUAL MACHINE

CPET 581 Cloud Computing: Technologies and Enterprise IT Strategies. Virtualization of Clusters and Data Centers

KVM: A Hypervisor for All Seasons. Avi Kivity avi@qumranet.com

Compromise-as-a-Service

How do Users and Processes interact with the Operating System? Services for Processes. OS Structure with Services. Services for the OS Itself

Hypervisor Software and Virtual Machines. Professor Howard Burpee SMCC Computer Technology Dept.

Introduction to Virtualization & KVM

Intro to Virtualization

Jukka Ylitalo Tik TKK, April 24, 2006

Introduction to Virtualization

Virtualization. ! Physical Hardware. ! Software. ! Isolation. ! Software Abstraction. ! Encapsulation. ! Virtualization Layer. !

Chapter 16: Virtual Machines. Operating System Concepts 9 th Edition

Hypervisors. Introduction. Introduction. Introduction. Introduction. Introduction. Credits:

Chapter 2 System Structures

Cloud Architecture and Virtualisation. Lecture 4 Virtualisation

Cambridge International AS and A Level Computer Science

evm Virtualization Platform for Windows

Kernel Types System Calls. Operating Systems. Autumn 2013 CS4023

Course Outline: Course 6331: Deploying and Managing Microsoft System Center Virtual Machine Manager Learning Method: Instructor-led Classroom Learning

Analysis of Virtualization Tools and Techniques

Virtualization Technology. Zhiming Shen

Data Centers and Cloud Computing

Virtual Machines. COMP 3361: Operating Systems I Winter

Virtual Machine Monitors. Dr. Marc E. Fiuczynski Research Scholar Princeton University

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Evading Android Emulator

Chapter 3 Operating-System Structures

Distributed System Monitoring and Failure Diagnosis using Cooperative Virtual Backdoors

VMware Virtualization and Software Development

Course 6331A: Deploying and Managing Microsoft System Center Virtual Machine Manager

Virtualization: Concepts, Applications, and Performance Modeling

Virtual Machines Fact Sheet

Virtualization Technologies (ENCS 691K Chapter 3)

Virtualization and Disaster Recovery

Networking for Caribbean Development

Virtualization Technologies. Embrace the new world of healthcare

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

OS Virtualization. CSC 456 Final Presentation Brandon D. Shroyer

Intel Virtualization Technology (VT) in Converged Application Platforms

CPS221 Lecture: Operating System Structure; Virtual Machines

Embedded Software development Process and Tools: Lesson-4 Linking and Locating Software

Chapter 2 Addendum (More on Virtualization)

FRONT FLYLEAF PAGE. This page has been intentionally left blank

Geoff Raines Cloud Engineer

Lecture 2 Cloud Computing & Virtualization. Cloud Application Development (SE808, School of Software, Sun Yat-Sen University) Yabo (Arber) Xu

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

Operating System Organization. Purpose of an OS

Virtualization Technologies

Is Virtualization Killing SSI Research?

Transcription:

Virtual Machines Virtual Machines What is a virtual machine? Examples? Benefits? 1

Virtualization Creation of an isomorphism that maps a virtual guest system to a real host: Maps guest state S to host state V(S) For any sequence of operations on the guest that changes guest state S1 to S2, there is a sequence of operations on the host that maps state V(S1) to V(S2) Important Interfaces Application programmer interface: High-level language library such asclib Application binary interface (ABI): User instruction (User ISA) System calls Hardware-software interface: Instruction set architecture (ISA) 2

What s a Machine? Machine is an entity that provides an interface Program view: Machine = Entity that provides the API (language) Process view: Machine = Entity that provides the ABI Operating system view: Machine = Entity that provides the ISA What s a Virtual Machine? Virtual machine is an entity that emulates a guest interface on top of a host machine Language view: Virtual machine = Entity that emulates an API (e.g., JAVA) on top of another Virtualizing software = compiler/interpreter Process view: Machine = Entity that emulates an ABI on top of another Virtualizing software = runtime Operating system view: Machine = Entity that emulates an ISA Virtualizing software = virtual machine monitor (VMM) 3

Purpose of a Virtual Machine Emulation Create the illusion of having one type of machine on top of another Replication Create the illusion of multiple independent smaller guest machines on top of one host machine Optimization Optimize a generic guest interface for one type of host Types of Virtual Machines Emulate (ISA/ABI/API) for purposes of (Emulation/Replication/Optimization) on top of (the same/different) one. 4

Types of Virtual Machines Emulate (ISA/ABI/API) for purposes of (Emulation/Replication/Optimization) on top of (the same/different) one. Process/language virtual machines (emulate ABI/API) System virtual machines (emulate ISA) Types of Virtual Machines Emulate (ISA/ABI/API) for purposes of (Emulation/Replication/Optimization) on top of (the same/different) one. Process/language virtual machines (emulate ABI/API) System virtual machines (emulate ISA) 5

Example 1 - Multiprogramming Emulate what interface? For what purpose? On top of what? Example 1 - Multiprogramming Emulate the ABI (user ISA + OS system calls) For purposes of replication (multiple processes share a physical machine) On top of the same ISA/OS 6

Example 2: Emulation Emulate one ABI on top of another Emulate a Intel IA-32 running WindowsXP on top of PowerPC running MacOS (i.e., run a process compiled for IA-32/Windows on PowerPC/MacOS) Interpreters: Pick one guest instruction at a time, update (simulated) host state using a set of host instructions Binary translation: Do the translation in one step, not one line at a time. Run the translated binary Example 3: Binary Optimization Emulate one ABI on top of itself for purposes of optimization Run the process binary, collect profiling data, then implement it more efficiently on top of the same machine/os interface. 7

Example 4: Language Virtual Machines Emulate one API on top of a set of different ABIs Compile guest API to intermediate form (e.g., JAVA source to JAVA bytecode) Interpret the bytecode on top of different host ABIs Examples: JAVA Microsoft Common Language Infrastructure (CLI), the foundation of.net Types of Virtual Machines Emulate (ISA/ABI/API) for purposes of (Emulation/Replication/Optimization) on top of (the same/different) one. Process/language virtual machines (emulate ABI/API) System virtual machines (emulate ISA) 8

Types of Virtual Machines Emulate (ISA/ABI/API) for purposes of (Emulation/Replication/Optimization) on top of (the same/different) one. Process/language virtual machines (emulate ABI/API) System virtual machines (emulate ISA) System Virtual Machines (Conventional Same ISA) Implement VMM (ISA emulation) on bare hardware Efficient Must wipe out current operating system to install Must support drivers for VMM Implement VMM on top of a host OS (Hosted VM) Less efficient Easy to install on top of host OS Leverages host OS drivers 9

Whole System Virtual Machines Emulate one ISA on top of another Typically runs on top of host OS (e.g., install Windows compiled for IA-32 on top of MacOS running on PowerPC) Note: this is different from a process virtual machine that emulates the Windows interface and user IA-32 instructions on top of MacOS running on PowerPC) Taxonomy Process VMs Same ISA Multiprogrammed systems Different ISA Dynamic translators (Java) System VMs Same ISA Classic VMs Hosted VMs (VMWare) Different ISA Whole system VMs 10