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

  1. History — Sixty years of virtualization in five eras, from IBM CP-40 to language-isolated microVMs.
  2. Foundations — What a VMM is and the Popek–Goldberg condition for trap-and-emulate.
  3. Taxonomy — Four axes of VMM design: placement, guest interface, hardware support, isolation boundary.
  4. Hypervisor Architecture — The recurring component set and three shapes: monolithic, hosted, disaggregated.
  5. Core Virtualization Mechanisms
    • CPU — Trap-and-emulate, binary translation, paravirtualization, hardware-assisted virtualization, and vCPU scheduling.
    • Memory — Shadow page tables, nested paging (EPT/NPT), and the overcommit toolbox.
    • I/O — Full emulation vs paravirtual (virtio) vs direct assignment (SR-IOV).
  6. Cross-Domain Communication — Hypercalls, rings, grant tables, capabilities — the substrate every non-monolithic VMM is built on.
  7. VM Management and Cloud Extensions — Lifecycle, snapshotting, live migration, microVMs, fleet orchestration.
  8. Performance and Overhead — Where the costs come from on modern hardware, and what residual tax 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; PV / HVM / PVH modes contrasted in depth.
  • hvisor
  • axvisor
  • VMware ESX

Type-2 / hosted:

  • KVM
  • QEMU
  • VirtualBox

MicroVMs and container-VM hybrids:

  • Firecracker
  • Kata Containers

Language-isolated systems:

  • RedLeaf

Container runtimes:

  • Docker
  • gVisor