Virtualization
- Way in which physical resource abstracted and offered in a logical form that users operate over
Terminology
- Host: physical resource
- Guest: runs in resource, guest os / apps
- VM: container that has guest
- VMM: supervisor
- Hypervisor: same as VMM
Benefits
- Workload isolation
- Isolation among VMs
- Security and reliability
- Consolidation
- Avoids waste of resources
- Consolidate into single server
- Easy upgrades
- Migration
- Guest decoupled from hardware
Taxonomy based on abstraction
- Hardware-level (Type 1)
- on top of hardware
- all s/w executed by hypervisor
- OS-level (Type 2)
- High level (Type 2)
- application provided as framework / middleware
Taxonomy based on resource
- CPU
- Memory
- I/O
- storage: logical disks
- networking: VPNS, VLANS
- Para-virtualization
- Modifies guest OS / drivers
- Full virtualization
- OS binaries modified by binary translation
Desired Attributes
- S/W compat
- Isolation
- Encapsulation
- Low overhead & high perf
Challenges for Intel:
- Ring aliasing (guest thinks it’s higher)
- Address space compression (guest think it has all memory)
- Non faulting with privileges
- Guest transitions
- Interrupt masking
- Ring compression
- Hidden state (registers / context switches)
Intel Tech:
- root mode (hypervisor)
- guest mode
- data structure - VMCS
- VM bit
- solves all the above challenges