QEMU

架構

QEMU的架構由純軟體實現，並在Guest與Host中間，來處理Guest的硬體請求，並由其轉譯給真正的硬體。
然而因為QEMU是純軟體實現的，所有的指令都要經過QEMU，使得效能很差，而配合KVM則可以解決這一問題。
QEMU虛擬化的思路是：提取Guest程式碼，翻譯為TCG中間程式碼，而後翻譯為Host程式碼。相當於實現了一個「中間人」的角色。

微型程式碼生成器

微型程式碼生成器（TCG）旨在消除依賴特定版本的GCC或編譯器的缺點，並將編譯合併到QEMU的執行時任務中。因此，整個翻譯階段由兩部分組成：目的碼塊（TB）以TCG指令（一種機器無關的中間符號）重寫 ，隨後TCG為宿主機架構執行編譯。可選的最佳化在這兩步之間傳遞。
TCG需要專用的程式碼來支援每個體系結構。它還要求重寫目標指令集翻譯過程以利用TCG指令，而不是以前使用的dyngen指令。

加速器

KQEMU是一個Linux核心模組，由Fabrice Bellard撰寫，它明顯加快了在具有相同CPU架構的平台上類比x86或x86-64程式的速度。這可以通過直接在主機CPU上執行用戶模式程式碼（以及可選的某些核心程式碼）以及僅對核心模式和真實模式程式碼使用處理器與外設類比來實現。即使宿主機CPU不支援硬體輔助虛擬化，KQEMU也可以從多個客戶作業系統執行程式碼。QEMU支援大容量記憶體，這使得它們與KQEMU不相容。較新的QEMU版本已完全取消對KQEMU的支援。
由於缺乏對KQEMU和QVM86的支援，基於核心的虛擬機器（KVM）已經基本成為基於Linux的硬體輔助虛擬化解決方案，與QEMU一起使用。
英特爾的硬體加速執行管理器（HAXM）是KVM在Windows和MacOS上基於x86的硬體輔助虛擬化的開源替代品。2013年，英特爾使用QEMU來進行Android開發。

硬體輔助仿真

MIPS相容的龍芯3處理器增加了200條新指令來幫助QEMU翻譯x86指令，這些新指令降低了在MIPS流水線中執行x86 / CISC風格指令的開銷。由於中國科學院對QEMU進行了進一步改進，龍芯3在9個基準測試中，執行x86二進位檔案的同時，執行本機二進位檔案的平均效能達到70％。

並列仿真

使用QEMU的虛擬化解決方案能夠並列執行多個虛擬CPU。 對於用戶模式仿真，QEMU將仿真執行緒對映到宿主執行緒。 對於全系統仿真，QEMU能夠為每個虛擬CPU執行一個主機執行緒。 前提是用戶端已經更新到可以支援並列系統仿真，目前可以支援的CPU是ARM和Alpha。否則QEMU將使用單個執行緒以迴圈方式類比執行每個虛擬CPU。

與其他虛擬機器的整合

VirtualBox
VirtualBox，發布於2007年1月，使用了一些QEMU的虛擬硬體裝置，並且有內建的基於QEMUdede動態再編譯器。與KQEMU一樣，VirtualBox通過VMM（虛擬機器管理器）在宿主機上本地執行幾乎所有客戶程式碼，並將再編譯僅僅用作回退機制——例如，當客戶程式碼以實位址模式執行時。
另外，VirtualBox使用內建的反組譯程式進行了大量的程式碼分析和修補，以儘量減少再編譯。除某些功能外，VirtualBox是免費且開源的（在GPL許可下）。
Xen-HVM
Xen是虛擬機器監視器，可以使用Intel VT-x或AMD-V硬體x86虛擬化擴充以及ARM Cortex-A7和Cortex-A15虛擬化擴充在HVM（硬體虛擬機器）模式下執行。
這意味著，面對domU以使用真實的裝置驅動程式進行交談的是一組真實的虛擬硬體，而不是半虛擬化裝置。
QEMU包含幾個元件：CPU仿真器，仿真裝置，通用裝置，機器描述符，使用者介面和除錯器。 QEMU中的仿真器件和通用器件組成了虛擬I/O的器件模型。它們包括PIIX3 IDE，Cirrus Logic或純VGA類比影片，RTL8139或E1000網路仿真以及ACPI支援。Xen提供APIC支援。
Xen-HVM具有基於QEMU專案的裝置仿真功能，可為虛擬機器提供虛擬I/O。硬體通過執行在dom0後端的「QEMU裝置模型」守護行程來類比。與其他QEMU執行模式（動態轉換或KVM）不同，虛擬CPU完全由管理程式管理，管理程式負責在QEMU類比記憶體對映I/O存取時停止虛擬CPU。
KVM
KVM（基於核心的虛擬機器）是FreeBSD和Linux的核心模組，它允許用戶空間程式存取各種處理器的虛擬化硬體特性，這個特點使得QEMU可以為x86，PowerPC和S/390客戶提供虛擬化。當目標體系結構與主機相同時，QEMU可以使用KVM特有的功能，比如加速功能。
Win4Lin Pro Desktop
在2005年初，Win4Lin推出了Win4Lin Pro Desktop，它基於QEMU和KQEMU的已調諧版本，並且代管了Windows的NT版本。 在2006年6月，
Win4Lin發布了基於相同程式碼庫的Win4Lin虛擬桌面伺服器。 Win4Lin虛擬桌面伺服器為來自Linux伺服器的精簡客戶機提供Microsoft Windows對談服務。
2006年9月，Win4Lin宣布將公司名稱更改為Virtual Bridges，並發布了Win4BSD Pro Desktop，該產品的一個埠用於FreeBSD和PC-BSD。在2007年5月發布了Win4Solaris Pro Desktop和Win4Solaris虛擬桌面伺服器後，提供了Solaris支援。
SerialICE
SerialICE是一款基於QEMU的韌體除錯工具，可在QEMU內部執行系統韌體，同時通過與主機系統的串行連接存取真實硬體。這可以用作硬體ICE的廉價替代品。
WinUAE
WinUAE Amiga仿真器在3.0.0版本中引入了對使用QEMU PPC核心的CyberStorm PPC和Blizzard 603e開發板的支援。

硬體平台類比

QEMU可類比多種硬體裝置
鍵盤 
SCSI控制器（AMD PCscsi和Tekram DC-390控制器中的LSI MegaRAID SAS 1078，LSI53C895A，NCR53C9x） 
序列埠 
音效卡（Sound Blaster 16，ES1370 PCI，Gravis Ultrasound，AC97和Intel HD Audio） 
看門狗定時器（Intel 6300 ESB PCI或iB700 ISA） 
USB 1.x / 2.x / 3.x控制器（UHCI，EHCI，xHCI） 
USB裝置：音訊，藍牙配接器，HID（鍵盤/滑鼠/平板電腦），MTP，序列埠，CAC智慧卡讀卡機，儲存（僅批次傳輸和USB連接SCSI），Wacom數位板
arm
QEMU使用NEON擴充類比ARMv7指令集。它類比整合系統/ CP板，多功能底板，RealView仿真底板，基於XScale的PDA，Palm Tungsten | E PDA，諾基亞N800和諾基亞N810網際網路平板電腦等完整系統.QEMU還為Android SDK提供支援，該模擬器屬於Android SDK 。三星選擇了QEMU來幫助開發仿真'Wave'裝置。
基於Xilinx Cortex A9的Zynq SoC採用以下元素進行建模仿真：
Zynq-7000 ARM Cortex-A9 CPU Zynq-7000 ARM Cortex-A9 MPCore 三重計時器 DDR記憶體控制器 DMA控制器（PL330） 靜態記憶體控制器（NAND / NOR快閃記憶體） SD / SDIO外設控制器（SDHCI） Zynq千兆乙太網路控制器 USB控制器（僅限EHCI - 主機支援） Zynq UART控制器 SPI和QSPI控制器 I2C控制器