QEMU (zkratka pro Quick EMUlator [ˌkwik ˈemjuˌleitə(r)]) je otevřený hostovaný hypervizor a emulátor poskytující hardwarovou a softwarovou virtualizaci.
Program QEMU vytváří v počítači virtuální stroj, který emuluje CPU pomocí dynamického binárního překladu a poskytuje množinu modelů zařízení, umožňujících běh širokého spektra operačních systémů. Také podporuje některé akcelerované režimy pro podporu různých binárních překladů (pro kód jádra operačního systému) a přímé (hardwarové) provádění procesorem (pro kód ostatní), stejně jako VMware Workstation a VirtualBox. QEMU může být použit pro čistě nativní emulaci procesů (programů) v uživatelském režimu, umožňující programům na jednom počítačovém operačním systému kompilovat programy pro jiný systém. Například programování se děje na počítači s Linuxem, ale QEMU umožní testování výsledného programu pro jiný systém a naopak.
Pro ukládání diskových obrazů používá QEMU vlastní formáty qcow/qcow2.
Architektura uživatelský prostor Linux ovladače
uživatelský prostor Windows ovladače uživatelský prostor Linux ovladače
uživatelský prostor macOS ovladače uživatelský prostor Solaris ovladače
QEMU x86 QEMU x86 QEMU PPC QEMU PPC QEMU SPARC Hostitelský systém : Linux, macOS, Windows Hardware : CPU, operační paměť, vnější paměť (úložiště), síťový hardware, atd.
Hardwarem podporovaná emulace MIPS kompatibilní procesor Loongson 3 (architektura RISC) přidává 200 nových instrukcí jako pomoc pro překlad x86 instrukcí pomocí QEMU; tyto nové instrukce rozšiřují úzké hrdlo při provádění x86/CISC-ových instrukcí v MIPS pipeline. S těmito přídavnými instrukcemi v QEMU je Loongson 3 schopný zachovat v průměru 70 % nativního výkonu při běhu x86 programů reprezentovanými devíti benchmarky.
Paralelní emulace Virtualizační řešení, která používají QEMU, mohou paralelně spouštět více virtuálních CPU. Pro emulaci v uživatelském režimu QEMU mapuje emulované vlákna na hostitelská vlákna. QEMU může pro plnohodnotnou systémovou emulaci spustit pro každý emulovaný virtuální procesor (vCPU) jedno hostitelské vlákno. To závisí na tom, zda je hostovaný systém aktualizován tak, aby podporoval paralelní systémovou emulaci — v současnosti ARM, Alpha, HP-PA, PowerPC, RISC-V, s390x, x86 a Xtensa. Jinak se pro emulaci všech virtuálních procesorů (vCPU) používá jediné vlákno, které spouští každou vCPU kruhovým způsobem (round-robin).
COREMU a REEMU COREMU je záplata (patch [pæč]) pro odstranění tohoto omezení QEMU. Každé jádro používá oddělenou instanci QEMU binárního překládacího stroje, s tenkým knihovním rámcem (frameworkem) pro řízení mezijádrové a mezihardwarové komunikace a synchronizace.
REEMU je vylepšením předchozího COREMU frameworku, který používá odlišný softwarový algoritmus, než COREMUhttp://sourceforge.net/p/coremu/qemu/ci/reemu/ ReEmu on SourceForge. Zavádí schopnost deterministického chování emulátoru celého systému. Přináší nový, efektivní a škálovatelný algoritmus. Na rozdíl od sekvenčních emulátorů je REEMU vhodný i pro testování výkonnostních parametrů vícethreadového software.
Odkazy Reference
Související články Open source software Virtualizace Virtuální stroj Emulátor COREMU VMware VirtualBox Microsoft Virtual PC DOSBox DOSEMU Wine Cedega
Externí odkazy
QEMU 7.0 přichází s podporou Intel AMX a vylepšeními pro RISC-V – článek na Root.cz QEMU návod na virtualizaci OS – návod, který opravdu funguje (qemu-system-i386, qemu-img) QEMU na Root.cz QEMU pro klikače – článek na www.abclinuxu.cz Projekt qboot: miniaturní systém nastartuje QEMU za 40 milisekund – šikovná utilitka pro QEMU Externí patche Zilog Z80: Zilog Z80 pro emulaci Sinclair ZX Spectrum 48K HP PA-RISC: QEMU links
Kategorie:Emulátory Kategorie:Systémový software Kategorie:Software pro Linux Kategorie:Software pro Windows Kategorie:Software pro Unix Kategorie:Svobodný software Kategorie:Software pod licencí GPL Kategorie:Virtualizační software