📌 KVM
KVM (Kernel-based Virtual Machine) — встроенный в Linux Kernel модуль, превращающий ядро в полноценный гипервизор. Позволяет запускать изолированные виртуальные машины с доступом к CPU и RAM через аппаратную виртуализацию.
🧠 Как работает
KVM использует:
- Hardware virtualization расширения: Intel VT-x, AMD-V
 - Модули ядра: 
kvm.ko,kvm-intel.ko,kvm-amd.ko - QEMU как пользовательский уровень для эмуляции устройств
 
Каждая VM — это обычный Linux процесс, использующий /dev/kvm для взаимодействия с гипервизором.
Компоненты:
- /dev/kvm — интерфейс между QEMU и ядром
 - KVM API — ioctl-интерфейс управления ВМ
 - VMCS / VMCB — аппаратные структуры управления виртуализацией
 - EPT / NPT — вложенные таблицы страниц
 
Поддерживает:
- SMP (несколько vCPU)
 - VirtIO для ускоренного ввода-вывода
 - NUMA, PCI Passthrough, HugePages
 - Live migration (через libvirt или QEMU)
 
⚙️ Где применяется
| Область | Применение | 
|---|---|
| Cloud | Основной гипервизор для OpenStack, Proxmox | 
| DevOps | Локальные среды разработки и тестирования | 
| CD | Автоматизация билдов и тестов в изоляции | 
| NFV | Сетевые функции виртуализированы | 
✅ Преимущества
- Встроен в Linux Kernel, нет стороннего ядра
 - Высокая производительность благодаря аппаратной виртуализации
 - Хорошо масштабируется под многопроцессорные VM
 - Активно развивается и используется в индустрии
 
❌ Недостатки
- Требует Hardware virtualization
 - Без libvirt или virt-manager — сложность управления
 - Некоторые устройства требуют passthrough для высокой скорости