1 EECS 768 Virtual Machines
Introduction to Virtual Machines
- Introduction
- Abstraction and interfaces
- Virtualization
- Computer system architecture
- Process virtual machines
- System virtual machines
Introduction to Virtual Machines Introduction Abstraction and - - PowerPoint PPT Presentation
Introduction to Virtual Machines Introduction Abstraction and interfaces Virtualization Computer system architecture Process virtual machines System virtual machines 1 EECS 768 Virtual Machines Abstraction Mechanism to
1 EECS 768 Virtual Machines
2 EECS 768 Virtual Machines
3 EECS 768 Virtual Machines
PowerPC MacOS MacIntosh apps. x86 Linux Linux apps x86 Windows Windows apps.
4 EECS 768 Virtual Machines
5 EECS 768 Virtual Machines
MacOS MacIntosh apps x86 x86 Windows apps. Linux
6 EECS 768 Virtual Machines
7 EECS 768 Virtual Machines
8 EECS 768 Virtual Machines
Si S Si ' S
j'
Guest Host
V( S
i)
V( S
j
) e(S
i)
e '(Si')
j
9 EECS 768 Virtual Machines
file file virtualization
10 EECS 768 Virtual Machines
11 EECS 768 Virtual Machines
12 EECS 768 Virtual Machines
13 EECS 768 Virtual Machines
I/O devices and Networking Controllers System Interconnect (bus) Controllers Memory Translation Execution Hardware Drivers Memory Manager Scheduler Operating System Libraries Application Programs Main Memory
Software Hardware
14 EECS 768 Virtual Machines
I/O devices and Networking System Interconnect (bus) Memory Translation Execution Hardware Application Programs Main Memory Operating System Libraries
15 EECS 768 Virtual Machines
I/O devices and Networking System Interconnect (bus) Memory Translation Execution Hardware Application Programs Main Memory Operating System Libraries
16 EECS 768 Virtual Machines
I/O devices and Networking System Interconnect (bus) Memory Translation Execution Hardware Application Programs Main Memory Operating System Libraries
17 EECS 768 Virtual Machines
System Calls User ISA System ISA
ISA
Application Software Operating System System Calls User ISA System ISA
ABI
Application Software Operating System
18 EECS 768 Virtual Machines
Virtualizing Software Application Process Machine OS Hardware
Guest Runtime Host
Application Process
Virtual Machine
19 EECS 768 Virtual Machines
HOST OS
Disk
file sharing network communication guest process create host process guest process
runtime runtime
guest process
runtime
host process
20 EECS 768 Virtual Machines
Hardware "Machine" OS Applications Virtualizing Software
Virtual Machine
OS Applications
Guest VMM Host
21 EECS 768 Virtual Machines
22 EECS 768 Virtual Machines
23 EECS 768 Virtual Machines
HP PA UNIX HP Apps
24 EECS 768 Virtual Machines
25 EECS 768 Virtual Machines
HLL Program Intermediate Code Memory Image Object Code (ISA) Compiler front-end Compiler back-end Loader HLL Program Portable Code (Virtual ISA ) Host Instructions
Compiler VM loader VM Interpreter/Translator Traditional HLL VM
26 EECS 768 Virtual Machines
Sparc Workstation Java Binary Classes x86 PC Apple Mac VM implementation VM implementation VM implementation
Java VM Architecture
27 EECS 768 Virtual Machines
Linux process
Win process HOST PLATFORM
virtual network communication
Guest OS (Windows) Win process Win process Guest OS2 (Linux)
VMM
Linux process Linux process
28 EECS 768 Virtual Machines
29 EECS 768 Virtual Machines
30 EECS 768 Virtual Machines
31 EECS 768 Virtual Machines
Multiprogrammed Systems HLL VM
Java VM MS CLI
Codesigned VM
Transmeta Crusoe
same ISA different ISA
Process VMs System VMs
Whole System VM
Virtual PC for Mac
different ISA same ISA Classic System VM
IBM VM/370
Hosted VM
VMware
Dynamic Binary Optimizers
Dynamo
Dynamic Translators
IA-32EL, FX!32