I’ve been reading about KVM, and I came across the statement:
“When the KVM module is loaded, the Linux kernel itself becomes a Type 1 hypervisor.”
I want to clarify if my understanding is correct using a concrete example.
Suppose I install Ubuntu 24.04 "Noble Numbat" on bare metal and enable KVM. Then, I create two VMs:
- Ubuntu 22.04 "Jammy Jellyfish"
- Ubuntu 20.04 "Focal Fossa"
My mental model looks like this:
┌─────────────────────────┬─────────────────────────┬─────────────────────────┐
│ Applications │ Applications │ Applications │
│ (Noble) │ (Jammy) │ (Focal) │
├─────────────────────────┼─────────────────────────┼─────────────────────────┤
│ System Layer │ System Layer │ System Layer │
│ (Noble) │ (Jammy) │ (Focal) │
│ [Libraries, Runtime │ [Libraries, Runtime │ [Libraries, Runtime │
│ Utilities] │ Utilities] │ Utilities] │
│ ├─────────────────────────┬─────────────────────────┤
│ │ Linux Kernel │ Linux Kernel │
│ │ (Jammy) │ (Focal) │
├─────────────────────────┼─────────────────────────┴─────────────────────────┤
│ │ Type 1 Hypervisor │
│ Linux Kernel (Noble) │ [Linux Kernel (Noble) + KVM] │
├─────────────────────────┴───────────────────────────────────────────────────┤
│ Hardware (CPU, RAM, Disk, NIC, etc.) │
└─────────────────────────────────────────────────────────────────────────────┘
Is this diagram correct?