Открыть главное меню

QEMU

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

QEMU
Qemu logo.svg
Qemu linux.png
QEMU с запущенной в нём операционной системой ReactOS
Тип виртуальная машина
Разработчик Фабрис Беллар[1]
Написана на Си[3]
Интерфейс GTK и Simple DirectMedia Layer
Операционная система Linux[4], Microsoft Windows[4] и macOS[4]
Последняя версия
Читаемые форматы файлов Qcow2, VMDK и qcow2[d]
Создаваемые форматы файлов Qcow2 и qcow2[d]
Лицензия GNU GPL 2[5]
Сайт qemu.org
Commons-logo.svg Медиафайлы на Викискладе

Включает в себя эмуляцию процессоров 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, Android[6][7][8] и др.

Автор программы — французский программист Фабрис Беллар (фр. Fabrice Bellard), создатель популярной библиотеки libavcodec, которую используют такие известные программы, как FFmpeg, ffdshow, MPlayer, VideoLAN и др.

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

Скорость работыПравить

Программная эмуляция значительно замедляет работу виртуальной машины. Изначально предлагалось два способа значительно ускорить работу при эмуляции той же архитектуры, приблизив её к скорости основной системы — 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)[10].

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

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

В режиме запуска отдельных программ (user emulation):

В режиме запуска полноценной ОС:

  • все выше перечисленные
  • AMD64 (x86-64)
  • EM64T

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

Полноценно:

Поддержка тестируется:

Минимальная поддержка, только в текущей версии из CVS:

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

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

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

См. такжеПравить

ПримечанияПравить

  1. https://bellard.org/
  2. https://github.com/qemu/qemu/releases/tag/v4.1.0 — 2019.
  3. QEMUOpen Hub.
  4. 1 2 3 https://www.qemu.org/download/
  5. License - QEMU
  6. QNX Community QEMU Project (англ.). foundry27. Дата обращения 27 декабря 2009. Архивировано 28 августа 2011 года.
  7. QEMU для QNX. СВД Встраиваемые Системы. Архивировано 28 августа 2011 года.
  8. Настройка сети при работе с QEMU в QNX. СВД Встраиваемые Системы. Архивировано 28 августа 2011 года.
  9. Features/KVM - QEMU (англ.). wiki.qemu.org. Дата обращения 15 февраля 2018.
  10. QEMU - ArchWiki
  11. QEMU - ArchWiki

СсылкиПравить