A survey of traditional machine virtualization, structured as ten chapters plus per-system case studies. Each chapter is a self-contained note; the case studies map a concrete system onto the taxonomy and walk its components per the architecture chapter.
Start with History for the long view, or jump to Foundations to begin the technical sequence.
Traditional Virtualization
- History — Sixty years of virtualization in five eras.
- Foundations — What a VMM is and the Popek–Goldberg condition.
- Taxonomy — The four axes of VMM design.
- Hypervisor Architecture — The component set and three shapes.
- Core Virtualization Mechanisms
- Cross-Domain Communication — Hypercalls, rings, grant tables, capabilities.
- VM Management and Cloud Extensions — Lifecycle, migration, microVMs, orchestration.
- Performance and Overhead — Where the costs come from, and what remains.
Systems and Case Studies
Per-system notes grounded in source-code reading, structured along the chapter outline above. Each note maps the system onto the §02 taxonomy tuple, walks its components per §03, and contrasts its choices with the rest of the field.
Type-1 hypervisors:
- Xen — the canonical disaggregated paravirt Type-1.
- hvisor — Rust separation-kernel hypervisor with static partitioning.
- AxVisor — Rust hypervisor built as an ArceOS unikernel application.
- VMware ESXi — the canonical commercial monolithic Type-1.
Type-2 / hosted:
- KVM — the canonical hosted hypervisor; a Linux kernel module.
- QEMU — the universal machine emulator and userspace VMM.
- VirtualBox — Oracle’s cross-platform desktop Type-2.
MicroVMs and container-VM hybrids:
- Firecracker — AWS’s minimal Rust microVM behind Lambda and Fargate.
- Kata Containers — containers wrapped in microVMs for hardware isolation.
Language-isolated systems:
- RedLeaf — planned (Rust OS with language-checked domains).
Container runtimes (not hypervisors, but adjacent on the isolation-boundary axis):