QEMU

Материал из Википедии — свободной энциклопедии
QEMU
Логотип программы QEMU
Скриншот программы QEMU
QEMU с запущенной в нём операционной системой OpenIndiana
Тип виртуальная машина
Разработчики Паоло Бонзини[вд], Ричард Хендерсон[d] и Питер Мэйделл[вд]
Написана на Си[4]
Интерфейс GTK и Simple DirectMedia Layer
Операционные системы
GNU/Linux[5], BSD[d], Windows[6] и macOS
Последняя версия
Репозиторий gitlab.com/qemu-project/…
Лицензия
GNU GPL 2[7]
Сайт qemu.org (англ.)
Логотип Викисклада Медиафайлы на Викискладе

QEMU —

открытым исходным кодом для эмуляции аппаратного обеспечения
различных платформ.

Включает в себя эмуляцию

m68k
.

Работает на

и др.

Автор программы — французский программист

VideoLAN
и др.

Помимо эмуляции, поддерживает технологии аппаратной виртуализации (Intel VT и AMD SVM) на x86-совместимых процессорах Intel и AMD. Первоначально разработка велась в рамках проекта Linux KVM, в котором, помимо собственно KVM (поддержки технологий аппаратной виртуализации x86-совместимых процессоров на уровне ядра Linux), разрабатывались патчи для QEMU, позволяющие QEMU использовать функциональность KVM. Впоследствии патчи были объединены с основной веткой программы[11].

Скорость работы

Программная эмуляция значительно замедляет работу виртуальной машины. Изначально предлагалось два способа значительно ускорить работу при эмуляции той же архитектуры, приблизив её к скорости основной системы — KQEMU и QVM86. Позже был интегрирован KVM — механизм для использования аппаратной поддержки виртуализации.

KQEMU

Отличается очень быстрой эмуляцией при использовании специального модуля, названного

Microsoft Windows и FreeBSD
. Начиная с версии 0.12.0 QEMU не поддерживает KQEMU.

QVM86

QVM86 имеет тот же самый принцип работы; он просто был заменой KQEMU в то время, когда исходные коды KQEMU не были открыты. Разработка QVM86 прекратилась в 2007 году.

KVM

Для достижения скорости работы виртуализованной системы, сравнимой с работой на настоящем аппаратном обеспечении, qemu может использовать аппаратные возможности по виртуализации современных процессоров. Для этого применяется гипервизор KVM (или Xen)[12].

Дополнительно, для ускорения работы с реальными картами расширения PCI / PCIe могут применяться технологии виртуализации пространства ввода-вывода (IOMMU) и передача доступа к реальному устройству внутрь виртуальной машины (если компьютер поддерживает Intel VT-d или AMD-Vi)[13].

Эмулируемые платформы

Платформы, на которых QEMU выполняется

Использование

Запуск Live CD из ISO-образа.

qemu -m 512 -cdrom /путь/к_iso-образу/example.iso -boot d

См. также

Примечания

  1. Tokarev M. [ANNOUNCE QEMU 9.0.1 Stable released] — 2024.
  2. 1 2 https://qemu-project.gitlab.io/qemu/system/qemu-block-drivers.html?highlight=qcow#cmdoption-image-formats-arg-qcow
  3. 1 2 https://qemu-project.gitlab.io/qemu/system/qemu-block-drivers.html?highlight=qcow#cmdoption-image-formats-arg-qcow2
  4. QEMUOpen Hub.
  5. Free Software Directory
  6. https://www.qemu.org/download/
  7. License - QEMU
  8. QNX Community QEMU Project (англ.). foundry27. Дата обращения: 27 декабря 2009. Архивировано из оригинала 28 августа 2011 года.
  9. QEMU для QNX. СВД Встраиваемые Системы. Архивировано из оригинала 28 августа 2011 года.
  10. Настройка сети при работе с QEMU в QNX. СВД Встраиваемые Системы. Архивировано из оригинала 28 августа 2011 года.
  11. Features/KVM - QEMU (англ.). wiki.qemu.org. Дата обращения: 15 февраля 2018. Архивировано 15 февраля 2018 года.
  12. QEMU — ArchWiki. Дата обращения: 16 октября 2018. Архивировано 16 октября 2018 года.
  13. QEMU — ArchWiki. Дата обращения: 16 октября 2018. Архивировано 16 октября 2018 года.

Ссылки