Menelusuri QEMU yang ditulis Fabrice Bellard pada 2003 sebagai emulator murni dan KVM oleh Avi Kivity pada 2006 yang melebur ke kernel Linux 2.6.20, serta memahami mengapa kombinasi keduanya menjadi virtualisasi full-native dengan performa near-bare-metal dan fondasi Proxmox OpenStack serta KubeVirt

Setelah di episode 0 kita menyiapkan environment — memastikan CPU punya VT-x/AMD-V, /dev/kvm ada, dan QEMU 11.1 terinstall — pada episode ini kita menarik napas sejenak dari hands-on dan memahami mengapa KVM & QEMU ada. Sejarah sebuah teknologi menentukan bentuk desainnya hari ini, dan KVM & QEMU adalah contoh paling jelas: dua proyek dengan asal berbeda yang akhirnya menyatu menjadi standar virtualisasi Linux.
Mengapa harus paham sejarahnya? Karena jawaban "kenapa KVM lebih cepat dari VirtualBox" atau "kenapa QEMU bisa jadi emulator sekaligus hypervisor" ada di sana. Memahami siapa yang menulis apa, dan untuk masalah apa, akan membuat kalian jauh lebih bijak saat memilih arsitektur virtualisasi di produksi.
QEMU (Quick Emulator) ditulis oleh Fabrice Bellard pada tahun 2003. Bellard adalah nama yang sama di balik FFmpeg dan TinyCC — penulis yang sangat paham arsitektur prosesor. QEMU awalnya adalah emulator murni: ia menerjemahkan instruksi satu arsitektur ke arsitektur lain secara dinamis (binary translation), sehingga program x86 bisa jalan di atas mesin ARM, atau sebaliknya.
| Fakta | Detail |
|---|---|
| Penulis | Fabrice Bellard (juga FFmpeg) |
| Rilis pertama | 2003 |
| Awal | Emulator murni (binary translation) |
| Komponen | CPU emulation + device emulation (virtio, e1000, VGA, dll) |
| Lisensi | GPL |
Karena emulasi murni sangat lambat — setiap instruksi harus diterjemahkan — QEMU juga menyediakan mekanisme acceleration: memanfaatkan native CPU ketika target arsitektur sama dengan host. Dari sinilah celah untuk KVM muncul.
KVM (Kernel-based Virtual Machine) ditulis oleh Avi Kivity pada tahun 2006 sebagai kernel module Linux. Idenya radikal namun sederhana: dengan dukungan hardware virtualization extensions (Intel VT-x dan AMD-V), kernel bisa menjalankan kode guest langsung di CPU — bukan menerjemahkannya. Guest code berjalan native, hanya dipintasi oleh hardware saat perlu (VM exit).
KVM di-merge ke kernel utama Linux pada versi 2.6.20 (Februari 2007). Sejak saat itu KVM menjadi bagian kernel Linux itu sendiri — mengikuti versi kernel, bukan versi terpisah. Ini keuntungan besar: setiap kernel yang dipakai data center di dunia sudah menyertakan KVM.
QEMU menyediakan user-space VMM (device emulation, management, monitor), sedangkan KVM menyediakan akselerasi kernel untuk eksekusi guest. Keduanya digabungkan lewat antarmuka /dev/kvm: QEMU membuka device ini dan meminta kernel mengeksekusi vCPU threads. Jadi secara arsitektur:
Guest OS (user mode)
│
├─ device I/O (emulated oleh QEMU: virtio, e1000, ...)
│
Guest code (ring 0/deprivileged) ── VM exit ──► KVM module (kernel)
│
Hardware (VT-x/AMD-V)Note
Perbedaan kunci: emulation menerjemahkan instruksi (lambat), sedangkan virtualization mengeksekusi instruksi asli dengan bantuan hardware (cepat). QEMU sendirian adalah emulator; QEMU + KVM adalah hypervisor full-native. Inilah alasan performa KVM bisa mendekati bare-metal.
Empat alasan stack ini menjadi pilihan utama di dunia Linux:
| Keunggulan | Arti Praktis |
|---|---|
| Full-native | Kode guest dieksekusi langsung oleh CPU lewat VT-x/AMD-V |
| Performa near-bare-metal | Overhead virtualisasi sangat kecil untuk workload komputasi |
| Open source & in-kernel | KVM ikut dirilis bersama kernel Linux; bebas biaya lisensi |
| Ekosistem masif | Menjadi fondasi Proxmox, OpenStack, KubeVirt, dan banyak cloud provider |
Kombinasinya jarang ditemukan di teknologi lain: KVM+QEMU adalah stack yang sama yang menjalankan VM-nya Google Cloud dan banyak provider publik — ditambah VirtualBox yang di desktop, tetapi di server Linux standar de facto-nya adalah KVM.
| Tahun | Tonggak |
|---|---|
| 2003 | QEMU dirilis Fabrice Bellard sebagai emulator |
| 2006 | KVM ditulis Avi Kivity sebagai kernel module |
| 2007 | KVM merged ke Linux 2.6.20 |
| 2007 | Proxmox VE 1.0 memakai KVM sebagai fondasi |
| 2010-an | OpenStack & KubeVirt menjadikan QEMU sebagai compute foundation |
| 2026 | QEMU 11.1 rilis (11 Agustus 2026) — versi yang dipakai series ini |
Pada episode 1 ini, kalian telah menelusuri perjalanan KVM & QEMU dari dua proyek yang berbeda hingga menjadi satu stack yang menggerakkan sebagian besar infrastruktur virtual modern.
Inti yang harus dibawa pulang:
Di episode 2 selanjutnya, kita akan membedah konsep dasar dan arsitektur utama KVM & QEMU — peran kernel module vs user-space VMM, mode system emulation vs user-mode emulation, peran accelerator (kvm, hvf, whpx, tcg), dan kenapa /dev/kvm adalah jembatan antara keduanya. Sampai jumpa di episode 2!