Introduction to Virtual Machines - PowerPoint PPT Presentation

1 / 23
About This Presentation
Title:

Introduction to Virtual Machines

Description:

1-1. Introduction to Virtual Machines. From 'Virtual Machines' Smith and Nair. Chapter 1. Introduction. 1-2. Two fundamental notions in. computer system design ... – PowerPoint PPT presentation

Number of Views:447
Avg rating:3.0/5.0
Slides: 24
Provided by: kart76
Category:

less

Transcript and Presenter's Notes

Title: Introduction to Virtual Machines


1
Introduction to Virtual Machines
  • From
  • Virtual Machines
  • Smith and Nair
  • Chapter 1

2
Two fundamental notions incomputer system design
  • Levels of Abstraction
  • .separated by well-defined Interfaces
  • Keys to managing complexity in computer systems.

3
Abstraction
  • Abstraction allows lower levels of design to be
    ignored/simplified while designing higher levels.
  • E.g. Details of hard disk abstracted by operating
    system into multiple variable sized partitions
    and their file systems.
  • Disadvantage Sometimes low-level details are
    necessary to optimize for performance. E.g. File
    systems might use better layout if they knew the
    disk geometry.

4
Interfaces
  • Allow computer design tasks to be decoupled so
    that different development teams can work
    independently at different levels of abstraction.
  • E.g. Instruction set Intel and AMD implement the
    same IA-32 (x86) instruction set interface.
  • Software designers dont need to worry about
    their different implementations.
  • Disadvantage Components designed for one
    interface cannot work on another
  • E.g. x86 vs IBM PowerPC
  • Diversity of interfaces can be restrictive for
    applications.

5
Virtualization
  • Provides a way to increase flexibility.
  • Real system (and its interfaces) appear to be a
    set of virtual systems (and virtual interfaces).
  • Virtualization vs. abstraction
  • Virtualization does not necessarily hide the
    level of details of the real system

6
Example Disk Virtualization
Virtual Disk 1
Virtual Disk 2
Virtualization
File 1
File 2
Interface
Real Disk
7
Virtual Machines
  • Same concept as disk virtualization in last slide
  • Implemented by adding layers of software to the
    real machine to support the desired VM
    architecture.
  • E.g. Virtual PC on Apple MAC/PowerPC emulates
    Windows/x86.
  • Uses
  • Multiple OSes on one machine
  • Isolation,
  • Enhanced security
  • Platform emulation
  • On-the-fly optimization
  • Realizing ISAs not found in physical machines

8
Virtualizatilon Isomorphism
  • Maps a virtual guest system to a real host
    system.

e(Si)
Si
Si
Guest
V(Si)
V(Sj)
e(Si)
Sj
Si
Host
9
Computer Architecture
User ISA 7 System ISA 8 Syscalls 3 ABI 3,
7 API 2,7
10
Machine Interfaces
Application Binary Interface
ISA Interface
(Process View)
(OS View)
11
Two Types of VMs Process VMs System VMs
12
Process Virtual Machine
  • Virtualizing software translates instructions
    from one platform to another.
  • Helps execute programs developed for a different
    OS or different ISA.
  • VM terminates when guest process terminates.

13
System Virtual Machine
  • Provides a complete system environment
  • OSuser processesnetworkingI/OdisplayGUI
  • Lasts as long as host is alive

14
Virtual Machine Applications
Emulation Optimization
Replication
Composition
  • Emulation Mix-and-match cross-platform
    portability
  • Optimization Usually done with emulation for
    platform-specific performance improvement
  • Replication Multiple VMs on single platform
  • Composition form more complex flexible systems

15
Types of Process Virtual Machines
  • Multiprogramming
  • Standard OS syscall interface instruction set
  • Can support multiple processes with its own
    address space and virtual machine view.
  • Emulators
  • Support one instruction set on hardware designed
    for another
  • Interpreter
  • Fetches, decodes and emulates the execution of
    individual source instructions. Can be slow.
  • Dynamic Binary Translator
  • Blocks of source instructions converted to target
    instructions.
  • Translated blocks cached to exploit locality.

IA-32 Windows APP
Digital FX!32 System
Windows NT
Runtime
Alpha ISA
16
Types of Process Virtual Machines (contd)
  • Same ISA Binary Optimizers
  • Optimize code on the fly
  • Same as emulators except source and target ISAs
    are the same.
  • High-Level Language VMs
  • Virtual ISA (bytecode) designed for platform
    independence
  • Platform-dependent VM executes virtual ISA
  • E.g. Suns JVM and Microsofts CLI (part of .NET)
  • Both are stack-based VMs that run on
    register-based m/c.

17
Types of System VMs
  • Originally developed for large mainframes
  • Today
  • Secure way of partitioning major software systems
    on a common platform
  • Ability to run multiple OSes on one platform
  • Platform replication provided by VMM
  • VMM controls access to hardware resources
  • When guest OS performs a privileged operation,
    VMM intercepts it, checks for correctness and
    performs the operation.
  • Transparent to guest OS.

18
Classic System VMs
  • Try to execute natively on the host ISA
  • VMM directly controls hardware
  • Provides all device drivers
  • Traditional mainframe model

19
Hosted VMs
  • Similar to classic system VM
  • Operates in process space
  • Relies on host OS to provide drivers
  • E.g. VMWare

20
Whole System VMs Emulation
  • Host and Guest ISA are different
  • Hosted VM emulation
  • So emulation is required
  • E.g. Virtual PC (Windows on MAC)

21
Co-designed VMs
  • Performance improvement of existing ISA
  • Customized microarchitecture and ISA at hardware
    level
  • Native ISA not exposed to applications
  • VMM
  • co-designed with native ISA
  • Part of native hardware implementation
  • Emulation/translation
  • E.g. Transmeta Crusoe
  • Native ISA based on VLIW
  • Guest ISA x86
  • Goal power savings

22
Taxonomy
23
Versatility
  • Java App
  • Linux IA-32
  • Windows IA-32
  • Crusoe VLIW

JVM
VMWare
Code Morphing
Write a Comment
User Comments (0)
About PowerShow.com