Professional Documents
Culture Documents
Chihun Kim
(chihun@aces.snu.ac.kr)
Virtual Machines
1/35
Contents
Abstraction, Virtualization of Computer System Architecture, Implementation Layers What is VM and Where is VM? What kind of VM
Process VM System VM
Virtual Machines
2/35
Virtualizations
Virtual Machines
3/35
Virtual Machines
4/35
Component A
Interface A
Interface B
Component A
Interface B
Virtual Machines
5/35
isomorphism
Resource A B B
Virtualization can be applied not only to subsystem, but to an Entire Machine Virtual Machine
Virtual Machines
6/35
Virtualization
File
File
Abstraction
Real Disk
Virtual Machines
7/35
API ISA
Execution Hardware
IO Devices, Networking
Virtual Machines
Virtual Machines
9/35
Virtual Machines
10/35
Virtual Machines
11/35
Virtual Machines
12/35
Libraries
Execution Hardware
System Interconnect (Bus) Controllers IO Devices, Networking Virtual Machines Controllers Main Memory
13/35
Application Software
Libraries
Operating System
System ISA
Machine
System Interconnect (Bus) Controllers IO Devices, Networking Virtual Machines Controllers Main Memory
14/35
VM is implemented as combination of
Real hardware Virtualizing software
Virtual Machines
15/35
OS
Virtual Machines
16/35
Application Software
Applications Guest
Operating System
System ISA
User ISA
Machine
Virtual Machine
Hardware
Virtual Machines
Host
17/35
Applications
Hardware
Virtual Machines
18/35
Virtual Machines
19/35
Virtual Machines
20/35
VM Runtime
Virtual Machines
21/35
HP PA-RISC 7300LC
Program binary for PA-RISC can run on the IA-64 hardware PA-RISC is a microprocessor architecture developed by HP. PA stands for Precision Architecture.
Sometmies, PA is considered to stand for Palo Alto, the location of HPs headquaters. (from Wikipedia)
Virtual Machines
22/35
Interpreter
Emulates the execution of individual source instruction Very slow ( requires 10x processing power )
Binary Translator
Block of source instructions are converted to target instructions Translated blocks are stored in VMs memory Static / dynamic schemes
Virtual Machines
23/35
Virtual Machines
24/35
HP, Transparent Dynamo Optimization: The Design and Implementation of Dynamo, Vasanth Bala, Evelyn Duesterwald, Sanjeev Banerjia, 1999
Virtual Machines
25/35
Binary class files are distributed ISA is part of binary class format Higher level of abstraction
Higher level Virtual ISA OS is abstracted as standard libraries (API)
Virtual Machines
26/35
HLL Program Compiler frontend Intermediate Code Compiler backend Object Code Distribution Loader Memory Image
HLL Program Compiler Portable Code Distribution VM loader Virtual Memory Image VM Interpreter / Compiler Host Instructions
Virtual Machines
28/35
Hardware
Virtual Machines
30/35
Old ISA
OS
Virtual Machines
31/35
Translated from x86 ISA to Crusoe VLIW ISA by code morphing software
Transmeta Crusoe
Virtual Machines
32/35
Java Application JVM Linux IA-32 VMWare Windows IA-32 Code Morphing
Crusoe VLIW
Virtual Machines
34/35