Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction 1-1 Introduction to Virtual Machines From “Virtual Machines” Smith and Nair Chapter 1.

Similar presentations


Presentation on theme: "Introduction 1-1 Introduction to Virtual Machines From “Virtual Machines” Smith and Nair Chapter 1."— Presentation transcript:

1 Introduction 1-1 Introduction to Virtual Machines From “Virtual Machines” Smith and Nair Chapter 1

2 Introduction 1-2 Two fundamental notions in computer system design  Levels of Abstraction …  ….separated by well-defined Interfaces  Keys to managing complexity in computer systems.

3 Introduction 1-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 Introduction 1-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. m Software designers don’t need to worry about their different implementations.  Disadvantage: Components designed for one interface cannot work on another m E.g. x86 vs IBM PowerPC m Diversity of interfaces can be restrictive for applications.

5 Introduction 1-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 m Virtualization does not necessarily hide the level of details of the real system

6 Introduction 1-6 Example: Disk Virtualization Real Disk File 1File 2 Interface Virtualization Virtual Disk 1 Virtual Disk 2

7 Introduction 1-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. m E.g. Virtual PC on Apple MAC/PowerPC emulates Windows/x86.  Uses: m Multiple OSes on one machine m Isolation, m Enhanced security m Platform emulation m On-the-fly optimization m Realizing ISAs not found in physical machines

8 Introduction 1-8 Virtualization – Isomorphism  Maps a virtual guest system to a real host system. SiSi Si’Si’ Sj’Sj’Si’Si’ V(S i )V(S j ) e’(S i ’) e(S i ) Guest Host

9 Introduction 1-9 Computer Architecture User ISA : 7 System ISA : 8 Syscalls : 3 ABI : 3, 7 API : 2,7

10 Introduction 1-10 Machine Interfaces Application Binary InterfaceISA Interface (Process View) (OS View)

11 Introduction 1-11 Two Types of VMs Process VMs System VMs

12 Introduction 1-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 Introduction 1-13 System Virtual Machine  Provides a complete system environment  OS+user processes+networking+I/O+display+GUI  Lasts as long as host is alive

14 Introduction 1-14 Virtual Machine Applications  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 Emulation & Optimization ReplicationComposition

15 Introduction 1-15 Types of Process Virtual Machines  Multiprogramming m Standard OS syscall interface + instruction set m Can support multiple processes with its own address space and virtual machine view.  Emulators m Support one instruction set on hardware designed for another m Interpreter: Fetches, decodes and emulates the execution of individual source instructions. Can be slow. m Dynamic Binary Translator: Blocks of source instructions converted to target instructions. Translated blocks cached to exploit locality. Alpha ISA Windows NT Runtime IA-32 Windows APP Digital FX!32 System

16 Introduction 1-16 Types of Process Virtual Machines (contd)  Same ISA Binary Optimizers m Optimize code on the fly m Same as emulators except source and target ISAs are the same.  High-Level Language VMs m Virtual ISA (bytecode) designed for platform independence m Platform-dependent VM executes virtual ISA m E.g. Sun’s JVM and Microsoft’s CLI (part of.NET) m Both are stack-based VMs that run on register-based m/c.

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

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

19 Introduction 1-19 Hosted VMs  Similar to classic system VM m Operates in process space m Relies on host OS to provide drivers m E.g. VMWare

20 Introduction 1-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 Introduction 1-21 Co-designed VMs  Performance improvement of existing ISA  Customized microarchitecture and ISA at hardware level  Native ISA not exposed to applications  VMM m co-designed with native ISA m Part of native hardware implementation  Emulation/translation  E.g. Transmeta Crusoe m Native ISA based on VLIW m Guest ISA = x86 m Goal power savings

22 Introduction 1-22 Taxonomy

23 Introduction 1-23 Versatility Java App Linux IA-32 Windows IA-32 Crusoe VLIW JVM VMWare Code Morphing


Download ppt "Introduction 1-1 Introduction to Virtual Machines From “Virtual Machines” Smith and Nair Chapter 1."

Similar presentations


Ads by Google