Vir tual Machinescse.unl.edu/~witty/class/embedded/material/note/vm_basics.pdf · CSCE496/896: Embedded Systems Design and Implementation. The Basics • Process view • bare machine
Post on 09-Jul-2020
4 Views
Preview:
Transcript
Virtual Machines
Witawas Srisa-anCSCE496/896: Embedded Systems Design
and Implementation
The Basics
• Process view
• bare machine with memories, registers, system calls for I/O
• OS + hardware
• OS view
• hardware alone
Basics
• Virtual machines execute software in the same manner as the machine for which the software was developed.
• real-machine
• virtualization software
• different resources than the real machines
Basics
• Virtualization has two parts
• mapping of virtual resources or states to real resources
• the use of real machine instructions and/or system calls
Basics
• Process level VMs
• support an individual process
• System level VMs
• provide complete system environments (e.g. OSs and multiple processes)
Basics
Hardware
OS
Virtualizingsoftware• Process VMs
• host, runtime, guest
• e.g. Rosetta
Application
Basics
Hardware
Virtualizingsoftware
• System VMs
• host, VMM, guest
• e.g. Parallel, virtual PC, Xen
Application
OS
Basics
IA32
VMM
Linux Apps
Linux
Windows Apps
Windows
Process VMs
• Multiprogramming
• Emulators and dynamic binary translators
• Binary optimizers
• Language VMs
Process VMs
• Digital FX!32: Emulator used in Windows NT to support Alpha processors
Alpha ISA
WindowsNT
IA32 WindowsApplications
Runtime
Process VMs
• High-level language VMs
• compilation
• loader
• interpreter/compiler
HLL Program
Portable Code
VM
Host ISA
Distribution
System VMs
• VM Architecture (Popek and Goldberg, 1974)
• VMM is placed on bare hardware with administrative privilege
• transparently intercepts and implements OS’s actions
• Guest systems run with lesser privileges
System VMs
• Hosted VMs
• virtualizing software on top of an existing host OS
• typically rely on the same ISA
• can use drivers and low level services provided by the host system
• VMware
Systems VM
• Whole system VMs
• host and guest systems do not share ISA
• virtualize all software through binary translation
• guest system ISA operations -> OS calls made to the host OS
Windows Apps
System VMs
Power PC ISA
Mac OS
Mac AppsWindows
Virtual PC
System VMs
• Codesigned VMs
• hardware or software translations
• hardware: microOps
• software: Transmeta Crusoe
System VMs• Software translation
• special “invisible” memory set at boot time
• code in this memory execute in supervisor mode
• translate and optimize guest instructions
• cache these translated instructions
IA32 Code
Binary Translator
VLIW ISA
Transmeta Crusoe
Summary
• Versatility of VMs
• portability
• high-performance
• energy efficiency
Java Apps
Windows XP
Mac OS-X
X86-64
top related