QEMU — вільна програма з відкритим сирцевим кодом для емуляції апаратного забезпечення різних платформ. QEMU дозволяє запустити програму, зібрану для однієї апаратної платформи, на системі із зовсім іншою архітектурою, наприклад, виконати застосунок для ARM на x86-сумісному ПК. У режимі віртуалізації в QEMU досягається продуктивність виконання коду в ізольованому оточенні близька до нативної системи, за рахунок прямого виконання інструкцій на CPU та задіяння гіпервізора Xen або модуля KVM.

QEMU
Тип Віртуальна машина
Автор Фабріс Беллар
Розробники QEMU team:
Anthony Liguori, Paul Brook, et al.
Стабільний випуск 8.2.1 (29 січня 2024; 2 місяці тому (2024-01-29))
Операційна система GNU/Linux[d][1], BSD[d], Windows[2] і macOS
GNU фреймворк GTK і Simple DirectMedia Layer
Мова програмування C[3]
Ліцензія GNU GPL version 2
Онлайн-документація qemu-project.gitlab.io/qemu/index.html
Репозиторій gitlab.com/qemu-project/qemu
Вебсайт qemu.org

QEMU включає емуляцію процесорів Intel x86 і пристроїв введення-виведення. Може емулювати 80386, 80486, Pentium, Pentium Pro, AMD64 та інші x86-сумісні процесори; PowerPC, ARM, MIPS, SPARC, SPARC64, m68k — лише частково.

Працює на Syllable Desktop, FreeBSD, FreeDOS, Linux, Windows 9x, Windows 2000, Mac OS X, QNX, Android та інших.

Автор програми — французький програміст Фабріс Беллар (фр. Fabrice Bellard), творець популярної бібліотеки libavcodec, на базі якої працюють відомі програми — FFmpeg, ffdshow, MPlayer, VideoLAN та інших. Спочатку проект був створений Фабрісом Беллардом з метою забезпечення можливості запуску зібраних для платформи x86 виконуваних файлів Linux на архітектурах, відмінних від x86. До 2012 за роки розробки була додана підтримка повної емуляції для 14 апаратних архітектур, число емульованих апаратних пристроїв перевищила 400. У розробці QEMU взяло участь 400 авторів, які підготували близько 20 тисяч змін.[4]

Наразі йде розробка підтримки технологій апаратної віртуалізації (Intel VT і AMD SVM) на x86-сумісних процесорах Intel і AMD в QEMU. Спочатку розробка велася в рамках проекту Linux KVM (Kernel-based Virtual Machine), в якому, крім власне KVM (підтримки технологій апаратної віртуалізації x86-сумісних процесорів на рівні ядра Linux), розроблялися патчі для QEMU, що дозволяють QEMU використовувати функціональність KVM. Проте недавно розробники QEMU разом з розробниками KVM ухвалили рішення в найближчому майбутньому інтегрувати підтримку KVM в основну гілку QEMU (mainline).

Виноски ред.

Посилання ред.