QEMU
QEMU (Кему) — свободная программа с открытым исходным кодом для эмуляции аппаратного обеспечения различных платформ.
QEMU | |
---|---|
QEMU с запущенной в нём операционной системой OpenIndiana | |
Тип | виртуальная машина |
Разработчик | Фабрис Беллар[1] |
Написана на | Си[3] |
Интерфейс | GTK и Simple DirectMedia Layer |
Операционная система | GNU/Linux[d][4], BSD[d], Microsoft Windows[5] и macOS |
Последняя версия |
|
Читаемые форматы файлов | Qcow2[6], VMDK и qcow2[d][7] |
Создаваемые форматы файлов | Qcow2[6] и qcow2[d][7] |
Лицензия | GNU GPL 2[8] |
Сайт | qemu.org (англ.) |
Медиафайлы на Викискладе |
Включает в себя эмуляцию процессоров Intel x86 и устройств ввода-вывода. Может эмулировать 80386, 80486, Pentium, Pentium Pro, AMD64 и другие x86-совместимые процессоры; ARM, MIPS, RISC-V, PowerPC, SPARC, SPARC64 и частично m68k.
Работает на Syllable, FreeBSD, OpenBSD, FreeDOS, Linux, Windows 9x, Windows 2000, Mac OS X, QNX[9][10][11], Android и др.
Автор программы — французский программист Фабрис Беллар (фр. Fabrice Bellard), создатель популярной библиотеки libavcodec, которую используют такие известные программы, как FFmpeg, ffdshow, MPlayer, VideoLAN и др.
Помимо эмуляции, поддерживает технологии аппаратной виртуализации (Intel VT и AMD SVM) на x86-совместимых процессорах Intel и AMD. Первоначально разработка велась в рамках проекта Linux KVM, в котором, помимо собственно KVM (поддержки технологий аппаратной виртуализации x86-совместимых процессоров на уровне ядра Linux), разрабатывались патчи для QEMU, позволяющие QEMU использовать функциональность KVM. Впоследствии патчи были объединены с основной веткой программы[12].
Скорость работыПравить
Программная эмуляция значительно замедляет работу виртуальной машины. Изначально предлагалось два способа значительно ускорить работу при эмуляции той же архитектуры, приблизив её к скорости основной системы — KQEMU и QVM86. Позже был интегрирован KVM — механизм для использования аппаратной поддержки виртуализации.
KQEMUПравить
Отличается очень быстрой эмуляцией при использовании специального модуля, названного KQEMU (первоначально модуль KQEMU имел проприетарную лицензию, в настоящее время лицензирован под GNU GPL). На данный момент стабильно работает только в Linux 2.4 — 2.6, есть экспериментальная поддержка Microsoft Windows и FreeBSD. Начиная с версии 0.12.0 QEMU не поддерживает KQEMU.
QVM86Править
QVM86 имеет тот же самый принцип работы; он просто был заменой KQEMU в то время, когда исходные коды KQEMU не были открыты. Разработка QVM86 прекратилась в 2007 году.
KVMПравить
Для достижения скорости работы виртуализованной системы, сравнимой с работой на настоящем аппаратном обеспечении, qemu может использовать аппаратные возможности по виртуализации современных процессоров. Для этого применяется гипервизор KVM (или Xen)[13].
Дополнительно, для ускорения работы с реальными картами расширения PCI / PCIe могут применяться технологии виртуализации пространства ввода-вывода (IOMMU) и передача доступа к реальному устройству внутрь виртуальной машины (если компьютер поддерживает Intel VT-d или AMD-Vi)[14].
Эмулируемые платформыПравить
В режиме запуска отдельных программ (user emulation): |
В режиме запуска полноценной ОС: |
Платформы, на которых QEMU выполняетсяПравить
Полноценно: |
Поддержка тестируется: |
Минимальная поддержка, только в текущей версии из CVS: |
ИспользованиеПравить
Запуск Live CD из ISO-образа.
qemu -m 512 -cdrom /путь/к_iso-образу/example.iso -boot d
См. такжеПравить
ПримечанияПравить
- ↑ https://bellard.org/
- ↑ [ANNOUNCE QEMU 7.2.0 is now available] — 2022.
- ↑ QEMU — Open Hub.
- ↑ Free Software Directory
- ↑ https://www.qemu.org/download/
- ↑ 1 2 https://qemu-project.gitlab.io/qemu/system/qemu-block-drivers.html?highlight=qcow#cmdoption-image-formats-arg-qcow
- ↑ 1 2 https://qemu-project.gitlab.io/qemu/system/qemu-block-drivers.html?highlight=qcow#cmdoption-image-formats-arg-qcow2
- ↑ License - QEMU
- ↑ QNX Community QEMU Project (англ.) (недоступная ссылка — история). foundry27. Дата обращения: 27 декабря 2009. Архивировано 28 августа 2011 года.
- ↑ QEMU для QNX (рус.) (недоступная ссылка — история). СВД Встраиваемые Системы. Архивировано 28 августа 2011 года.
- ↑ Настройка сети при работе с QEMU в QNX (рус.) (недоступная ссылка — история). СВД Встраиваемые Системы. Архивировано 28 августа 2011 года.
- ↑ Features/KVM - QEMU (англ.). wiki.qemu.org. Дата обращения: 15 февраля 2018. Архивировано 15 февраля 2018 года.
- ↑ QEMU — ArchWiki (неопр.). Дата обращения: 16 октября 2018. Архивировано 16 октября 2018 года.
- ↑ QEMU — ArchWiki (неопр.). Дата обращения: 16 октября 2018. Архивировано 16 октября 2018 года.