📌 QEMU
QEMU — открытая система виртуализации и эмуляции, позволяющая запускать операционные системы и программы для одной архитектуры на другой. Часто используется с KVM для аппаратно-ускоренной виртуализации.
🧠 Как работает
QEMU может работать в двух основных режимах:
- Эмуляция (full emulation) — имитирует CPU, memory, O и устройства целиком. Подходит для кросс-архитектурного запуска (например, ARM на x86).
- Аппаратная виртуализация (с KVM) — использует
/dev/kvm
для ускорения исполнения на x86/x86_64.
Компоненты:
- qemu-system-* — запуск полной виртуальной машины
- qemu-img — создание и управление дисками
- qemu-nbd — экспорт виртуального диска по NBD
- qemu-user — запуск бинарей другой архитектуры (user-mode emulation)
Поддержка:
- Множество архитектур: x86, ARM, RISC-V, MIPS, PowerPC
- Устройства: PCI, USB, Disk Controller, NIC, GPU
- Live migration, Snapshot, SPICE, VNC, VirtIO
⚙️ Где применяется
Контекст | Назначение |
---|---|
Embedded | Тестирование прошивок без физического железа |
Cloud | Запуск VM с KVM и libvirt |
DevOps / CD | Автоматизация тестирования ОС |
OS Development | Отладка ядра и загрузчиков |
✅ Преимущества
- Поддержка множества архитектур и устройств
- Гибкость конфигурации (CLI, скрипты, libvirt)
- Совместим с KVM для ускорения
❌ Недостатки
- Без KVM — относительно низкая производительность
- CLI требует глубокого понимания флагов
- Конфигурация может быть громоздкой без virt-manager или GUI