Professional Documents
Culture Documents
VMM Concepts
VMM Concepts
Concepts
Virtualization
Concepts
References and Sources
James Smith, Ravi Nair, The Architectures of Virtual Machines, IEEE Computer, May 2005, pp. 32-38.
Mendel Rosenblum, Tal Garfinkel, Virtual Machine Monitors: Current Technology and Future Trends, IEEE Computer, May 2005, pp. 39-47.
L.H. Seawright, R.A. MacKinnon, VM/370 a study of multiplicity and usefulness, IBM Systems Journal, vol. 18, no. 1, 1979, pp. 4-17.
S.T. King, G.W. Dunlap, P.M. Chen, Operating System Support for Virtual Machines, Proceedings of the 2003 USENIX Technical Conference,
June 9-14, 2003, San Antonio TX, pp. 71-84.
A. Whitaker, R.S. Cox, M. Shaw, S.D. Gribble, Rethinking the Design of Virtual Machine Monitors, IEEE Computer, May 2005, pp. 57-62.
G.J. Popek, and R.P. Goldberg, Formal requirements for virtualizable third generation architectures, CACM, vol. 17 no. 7, 1974, pp. 412-421.
CS5204
Virtualization
Definitions
Virtualization
CS5204
Virtualization
Origins - Principles
Efficiency
Resource control
Equivalence
CS5204
Virtualization
Origins - Principles
Instruction types
Privileged
an instruction traps in unprivileged (user) mode but not in privileged (supervisor) mode.
Sensitive
Control
sensitive
Behavior
sensitive
Theorem
For any conventional third generation computer, a virtual machine monitor may be constructed if the
set of sensitive instructions for that computer is a subset of the set of privileged instructions.
Signficance
The IA-32/x86 architecture is not virtualizable.
CS5204
Virtualization
Origins - Technology
CS5204
Virtualization
VMMs Rediscovered
Application
Application
Application
Guest OS
Guest OS
Guest OS
Virtual
Machine
Virtual
Machine
Virtual
Machine
VMM
Real
Machine
CS5204
Virtualization
API
Libraries
ABI
System Calls
Operating
System
ISA
System ISA
User ISA
Hardware
CS5204
Virtualization
VMM Types
System
Process
Efficient execution
Easier installation
CS5204
Virtualization
Paravirtualization
Execution overhead
CS5204
10
Virtualization
ABI interface
11
Virtualization
System VMMs
Type 1
Structure
Primary goals
Examples
CS5204
Type 2
12
Virtualization
Hosted VMMs
Structure
Goals
Disadvantages
CS5204
13
Virtualization
Whole-system VMMs
CS5204
14
Virtualization
Strategies
GuestOS
De-privileging
privileged
instruction
trap
resource
emulate change
change
Primary/shadow structures
vmm
resource
Memory traces
CS5204
15
Virtualization
and VMM must run in ring 0 to maintain its integrity and control
Some privileged instructions execute only in ring 0 but do not fault when
executed outside ring 0 (remember privileged vs. sensitive?)
instructions for low latency system calls (SYSENTER/SYSEXIT) always
transition to ring 0 forcing the VMM into unwanted emulation or overhead
For the Itanium architecture, interrupt registers only accessible in ring 0;
forcing VMM to intercept each device driver access to these registers has
severe performance consequences
Masking interrupts can only be done in ring 0
Ring compression: paging does not distinguish privilege levels 0-2,
GuestOS must run in ring 3 but is then not protected from its applications
also running in ring 3
Cannot be used for 64-bit guests on IA-32
The fact that it is not running in ring 0 can be detected (is this important?)
CS5204
16
Virtualization
VMM
machine
Memory Management
OS
physical
process
virtual
entity
address space
GuestOS
VMM
Isolation/protection of
Guest OS address spaces
Efficient MM address
translation
page tables
CS5204
17