Software that creates and manages virtual machines
Core Idea: A hypervisor (or virtual machine monitor) is the foundational software layer that enables virtualization by creating, running, and managing virtual machines on a host system, providing isolation between VMs and controlling access to physical hardware resources.
Key Elements
Core Functions
- Hardware Resource Abstraction: Presents virtualized hardware to VMs
- Resource Allocation: Assigns CPU, memory, storage, and network resources
- Execution Isolation: Prevents VMs from interfering with each other
- Resource Scheduling: Manages processor time and resources among VMs
- Device Emulation: Presents standardized virtual devices to guest systems
- Memory Management: Manages physical memory allocation and virtual memory
Architecture Types
- Type 1 (Bare-metal) Hypervisors: Run directly on hardware
- Hyper-V, VMware ESXi, Xen, KVM
- Higher performance and security
- Used primarily in data centers and servers
- Type 2 (Hosted) Hypervisors: Run on an operating system
- VMware Workstation/Fusion, Oracle VirtualBox, Parallels
- Easier to install and use
- Used primarily on desktop/workstation environments
Key Technical Components
- CPU Virtualization:
- Privileged instruction handling
- Hardware-assisted virtualization (Intel VT-x, AMD-V)
- CPU scheduler for VM execution time
- Memory Virtualization:
- Shadow page tables
- Extended/Nested page tables (EPT/NPT)
- Memory overcommitment techniques
- I/O Virtualization:
- Device emulation
- Paravirtual device drivers
- Direct device assignment/passthrough
- SR-IOV for network devices
Leading Hypervisor Platforms
- Microsoft Hyper-V: Native Windows hypervisor
- VMware ESXi: Standalone hypervisor from VMware
- KVM (Kernel-based Virtual Machine): Linux kernel module hypervisor
- Xen: Open-source hypervisor (used in Citrix Hypervisor, AWS)
- Oracle VM Server: Based on Xen
- Parallels Hypervisor: Used for macOS and Windows
Historical Development
- IBM VM/370 (1972): First commercial hypervisor
- Early x86 challenges due to architecture limitations
- VMware overcame x86 limitations with binary translation (1999)
- CPU vendors added hardware virtualization extensions (2005-2006)
- Hypervisor market consolidation and specialization (2010s)
Additional Connections
- Broader Context: Virtualization Technologies (broader category)
- Applications: Server Consolidation (primary business use case)
- See Also: Container Engine (alternative virtualization approach)
References
- "Virtualization Essentials" by Matthew Portnoy
- CPU Vendor Virtualization Extension Documentation
#virtualization #hypervisor #system-software #infrastructure
Connections:
Sources:
- From: Hyper-V - Wikipedia