QEMU (abreviatura de Q uick EMU lator [2] [ dudoso ] ) es un emulador y virtualizador gratuito y de código abierto que puede realizar virtualización de hardware .
Autor (es) original (es) | Fabrice Bellard |
---|---|
Desarrollador (es) | Equipo QEMU: Peter Maydell, et al. |
Lanzamiento estable | 6.0.0 [1] / 30 de abril de 2021 |
Repositorio | |
Escrito en | C |
Sistema operativo | Linux , Microsoft Windows , macOS y algunas otras plataformas UNIX |
Tipo | Hipervisor , emulador |
Licencia | GPLv2 |
Sitio web | www |
QEMU es un monitor de máquina virtual alojada : emula el procesador de la máquina a través de la traducción binaria dinámica y proporciona un conjunto de diferentes modelos de hardware y dispositivos para la máquina, lo que le permite ejecutar una variedad de sistemas operativos invitados . También se puede utilizar con la máquina virtual basada en kernel (KVM) para ejecutar máquinas virtuales a una velocidad casi nativa (aprovechando las extensiones de hardware como Intel VT-x ). QEMU también puede emular procesos a nivel de usuario, lo que permite que las aplicaciones compiladas para una arquitectura se ejecuten en otra. [3]
Licencia
QEMU fue escrito por Fabrice Bellard y es software libre , principalmente bajo la Licencia Pública General GNU (GPL para abreviar). Varias partes se publican bajo la licencia BSD , GNU Lesser General Public License (LGPL) u otras licencias compatibles con GPL. [4]
Modos de funcionamiento
QEMU tiene varios modos de funcionamiento: [5]
- Emulación de modo de usuario
- En este modo, QEMU ejecuta programas únicos de Linux o Darwin / macOS que se compilaron para un conjunto de instrucciones diferente . Las llamadas al sistema se procesan en busca de endianness y discrepancias de 32/64 bits. La rápida compilación cruzada y la depuración cruzada son los principales objetivos de la emulación en modo de usuario.
- Emulación del sistema
- En este modo, QEMU emula un sistema informático completo, incluidos los periféricos . Se puede utilizar para proporcionar alojamiento virtual de varias computadoras virtuales en una sola computadora. QEMU puede arrancar muchos sistemas operativos invitados , incluidos Linux , Solaris , Microsoft Windows , DOS y BSD ; [6] admite la emulación de varios conjuntos de instrucciones, incluidos x86 , MIPS , ARMv7 de 32 bits , ARMv8 , PowerPC , SPARC , ETRAX CRIS y MicroBlaze .
- Alojamiento KVM
- Aquí QEMU se ocupa de la configuración y migración de imágenes KVM . Todavía está involucrado en la emulación de hardware, pero la ejecución del invitado la realiza KVM según lo solicitado por QEMU.
- Alojamiento Xen
- QEMU solo participa en la emulación de hardware; la ejecución del invitado se realiza dentro de Xen y está totalmente oculta a QEMU.
Características
QEMU puede guardar y restaurar el estado de la máquina virtual con todos los programas en ejecución. Los sistemas operativos invitados no necesitan parches para ejecutarse dentro de QEMU.
QEMU admite la emulación de varias arquitecturas, que incluyen:
- Computadoras IA-32 (x86)
- PC x86-64
- MIPS64 Release 6 [7] y variantes anteriores
- SPARC del sol sun4m
- SPARC del sol sun4u
- Placas de desarrollo ARM (Integrator / CP y Versatile / PB)
- Tablero SH4 SHIX
- PowerPC ( PReP y Power Macintosh )
- CRIS ETRAX
- MicroBlaze
- RISC-V
La máquina virtual puede interactuar con muchos tipos de hardware de host físico, incluidos los discos duros del usuario, unidades de CD-ROM, tarjetas de red, interfaces de audio y dispositivos USB. Los dispositivos USB se pueden emular por completo o se pueden utilizar los dispositivos USB del host, aunque esto requiere privilegios de administrador y no funciona con todos los dispositivos.
Las imágenes de disco virtual se pueden almacenar en un formato especial ( qcow o qcow2 ) que solo ocupa tanto espacio en disco como el que realmente usa el sistema operativo invitado. De esta forma, un disco emulado de 120 GB puede ocupar solo unos pocos cientos de megabytes en el host. El formato QCOW2 también permite la creación de imágenes superpuestas que registran la diferencia con otro archivo de imagen base (sin modificar). Esto brinda la posibilidad de revertir el contenido del disco emulado a un estado anterior. Por ejemplo, una imagen base podría contener una instalación nueva de un sistema operativo que se sabe que funciona, y se utilizan las imágenes superpuestas. Si el sistema invitado se vuelve inutilizable (a través de un ataque de virus, destrucción accidental del sistema, etc.), el usuario puede eliminar la superposición y utilizar una imagen de disco emulada anterior.
QEMU puede emular tarjetas de red (de diferentes modelos) que comparten la conectividad del sistema host al realizar la traducción de direcciones de red, lo que permite que el invitado use la misma red que el host. Las tarjetas de red virtuales también pueden conectarse a tarjetas de red de otras instancias de QEMU o a interfaces TAP locales . La conectividad de red también se puede lograr mediante un puente entre una interfaz TUN / TAP utilizada por QEMU con una interfaz Ethernet no virtual en el sistema operativo host utilizando las funciones de puenteo del sistema operativo host.
QEMU integra varios servicios para permitir que los sistemas host e invitado se comuniquen; por ejemplo, un servidor SMB integrado y redirección de puertos de red (para permitir conexiones entrantes a la máquina virtual). También puede arrancar kernels de Linux sin un gestor de arranque.
QEMU no depende de la presencia de métodos de salida gráfica en el sistema anfitrión. En cambio, puede permitir que uno acceda a la pantalla del sistema operativo invitado a través de un servidor VNC integrado. También puede utilizar una línea serie emulada, sin ninguna pantalla, con los sistemas operativos aplicables.
Es posible simular varias CPU que ejecutan SMP .
QEMU no requiere derechos administrativos para ejecutarse a menos que se utilicen módulos de kernel adicionales para mejorar la velocidad (como KQEMU ) o se utilicen ciertos modos de su modelo de conectividad de red.
Pequeño generador de código
El Tiny Code Generator (TCG) tiene como objetivo eliminar la deficiencia de depender de una versión particular de GCC o cualquier compilador, en lugar de incorporar el compilador (generador de código) en otras tareas realizadas por QEMU en tiempo de ejecución. Por lo tanto, toda la tarea de traducción consta de dos partes: bloques básicos de código de destino ( TB ) que se reescriben en operaciones de TCG , una especie de notación intermedia independiente de la máquina y, posteriormente, TCG compila esta notación para la arquitectura del host. Se realizan pasadas de optimización opcionales entre ellos, para un modo de compilador justo a tiempo (JIT).
TCG requiere un código dedicado escrito para admitir cada arquitectura en la que se ejecuta, de modo que el JIT sepa a qué traducir las operaciones de TCG . Si no hay un código JIT dedicado disponible para la arquitectura, TCG recurre a un modo de intérprete lento llamado TCG Interpreter (TCI). También requiere actualizar el código de destino para usar las operaciones de TCG en lugar de las antiguas operaciones de dyngen .
A partir de la versión 0.10.0 de QEMU , TCG se envía con la versión estable de QEMU. Reemplaza al dyngen , que se basó en GCC 3.x para funcionar. [8] [9]
Acelerador
KQEMU era un módulo del kernel de Linux , también escrito por Fabrice Bellard , que aceleró notablemente la emulación de invitados x86 o x86-64 en plataformas con la misma arquitectura de CPU. Este trabajó mediante la ejecución de modo de usuario del código (y opcionalmente algo de código kernel) directamente en la CPU del ordenador anfitrión, y mediante el uso del procesador y la emulación periférica sólo para modo de núcleo y de modo real código. KQEMU podría ejecutar código desde muchos sistemas operativos invitados incluso si la CPU del host no admitía la virtualización asistida por hardware . KQEMU era inicialmente un producto de código cerrado disponible de forma gratuita, pero a partir de la versión 1.3.0pre10 (febrero de 2007), [10] se volvió a obtener la licencia bajo la Licencia Pública General GNU . Versiones de QEMU a partir de 0.12.0 (a partir de agosto de 2009[actualizar]) admiten una gran memoria, lo que los hace incompatibles con KQEMU. [11] Las versiones más recientes de QEMU han eliminado por completo el soporte para KQEMU.
QVM86 fue un reemplazo directo con licencia GNU GPLv2 para el entonces KQEMU de código cerrado. Los desarrolladores de QVM86 dejaron de desarrollarse en enero de 2007.
La máquina virtual basada en kernel ( KVM ) se ha convertido principalmente en la solución de virtualización asistida por hardware basada en Linux para su uso con QEMU a raíz de la falta de soporte para KQEMU y QVM86. [ cita requerida ] QEMU también puede usar KVM en otras arquitecturas como ARM y MIPS . [12]
De Intel Hardware Accelerated Director de Ejecución ( HAXM ) es una alternativa de código abierto [13] a KVM para la virtualización asistida por hardware basado en x86 en NetBSD, Linux, Windows y MacOS utilizando Intel VT . Como de 2013[actualizar]Intel solicita principalmente su uso con QEMU para el desarrollo de Android. [14] A partir de la versión 2.9.0, la QEMU oficial incluye soporte para HAXM, bajo el nombre de hax . [15]
QEMU también admite los siguientes aceleradores: [15]
- hvf , Apple está
Hypervisor.framework
basado en Intel VT. - whpx , la plataforma de hipervisor de Windows de Microsoft basada en Intel VT o AMD-V.
- tcg , el propio Tiny Code Generator de QEMU . Este es el predeterminado.
Formatos de imagen de disco compatibles
QEMU admite los siguientes formatos de imagen de disco : [16]
- Formato de imagen de disco universal macOS (
.dmg
): solo lectura - Bochs : solo lectura
- Linux cloop : solo lectura
- Imagen de disco de Parallels (
.hdd
,.hds
) - Solo lectura - QEMU copia en escritura (
.qcow2
,.qed
,.qcow
,.cow
) - Imagen de disco virtual de VirtualBox (
.vdi
) - Disco duro virtual de Virtual PC (
.vhd
) - VFAT virtual
- Disco de máquina virtual de VMware (
.vmdk
) - Imágenes sin procesar (
.img
) que contienen contenido sector por sector de un disco - Imágenes de CD / DVD (
.iso
) que contienen contenido sector por sector de un disco óptico (por ejemplo, arrancando sistemas operativos en vivo) [17]
Emulación asistida por hardware
El procesador Loongson -3 compatible con MIPS agrega 200 nuevas instrucciones para ayudar a QEMU a traducir las instrucciones x86; esas nuevas instrucciones reducen la sobrecarga de ejecutar instrucciones de estilo x86 / CISC en la canalización MIPS. Con mejoras adicionales en QEMU por parte de la Academia China de Ciencias , Loongson-3 logra un promedio del 70% del rendimiento de ejecutar binarios nativos mientras ejecuta binarios x86 desde nueve puntos de referencia. [18] A junio de 2020[actualizar], no se ha publicado ningún código fuente para esta bifurcación, por lo que el reclamo no se puede verificar de forma independiente.
Emulación en paralelo
Las soluciones de virtualización que utilizan QEMU pueden ejecutar varias CPU virtuales en paralelo. Para la emulación en modo de usuario, QEMU asigna subprocesos emulados a subprocesos de host. Para la emulación completa del sistema, QEMU es capaz de ejecutar un subproceso de host para cada CPU virtual emulada (vCPU). Esto depende de que el invitado se haya actualizado para admitir la emulación del sistema paralelo, actualmente ARM, Alpha, HP-PA, PowerPC, RISC-V, s390x, x86 y Xtensa. De lo contrario, se utiliza un único subproceso para emular todo el CPUS virtual (vCPUS) que ejecuta cada vCPU de manera rotatoria.
Integración
VirtualBox
VirtualBox , lanzado por primera vez en enero de 2007, usaba algunos de los dispositivos de hardware virtual de QEMU y tenía un recompilador dinámico integrado basado en QEMU. Al igual que con KQEMU, VirtualBox ejecuta casi todo el código de invitado de forma nativa en el host a través de VMM (Virtual Machine Manager) y usa el recompilador solo como mecanismo de reserva, por ejemplo, cuando el código de invitado se ejecuta en modo real . [19] Además, VirtualBox hizo muchos análisis de código y parches usando un desensamblador incorporado para minimizar la recompilación. VirtualBox es gratuito y de código abierto (disponible bajo GPL ), excepto por ciertas características.
Xen-HVM
Xen , un monitor de máquina virtual, puede ejecutarse en modo HVM (máquina virtual de hardware), utilizando las extensiones de virtualización x86 de hardware Intel VT-x o AMD-V y la extensión de virtualización ARM Cortex-A7 y Cortex-A15 . [20] Esto significa que en lugar de dispositivos paravirtualizados, se expone un conjunto real de hardware virtual a la domU para usar controladores de dispositivos reales con los que hablar.
QEMU incluye varios componentes: emuladores de CPU, dispositivos emulados, dispositivos genéricos, descripciones de máquinas, interfaz de usuario y un depurador. Los dispositivos emulados y los dispositivos genéricos de QEMU componen sus modelos de dispositivos para la virtualización de E / S. [21] Comprenden un PIIX3 IDE (con algunas capacidades rudimentarias de PIIX4), Cirrus Logic o video simple emulado VGA, emulación de red RTL8139 o E1000 y soporte ACPI. [22] El soporte APIC lo proporciona Xen.
Xen-HVM tiene una emulación de dispositivo basada en el proyecto QEMU para proporcionar virtualización de E / S a las máquinas virtuales. El hardware se emula a través de un demonio de "modelo de dispositivo" QEMU que se ejecuta como backend en dom0. A diferencia de otros modos de ejecución de QEMU (traducción dinámica o KVM), las CPU virtuales se administran completamente al hipervisor, que se encarga de detenerlas mientras QEMU emula los accesos de E / S asignados en memoria.
KVM
KVM (máquina virtual basada en kernel) es un módulo de kernel de FreeBSD y Linux que permite a un programa de espacio de usuario acceder a las funciones de virtualización de hardware de varios procesadores, con lo que QEMU puede ofrecer virtualización para invitados x86, PowerPC y S / 390. Cuando la arquitectura de destino es la misma que la arquitectura del host, QEMU puede hacer uso de características particulares de KVM, como la aceleración.
Escritorio Win4Lin Pro
A principios de 2005, Win4Lin introdujo Win4Lin Pro Desktop, basado en una versión 'ajustada' de QEMU y KQEMU y aloja versiones NT de Windows. En junio de 2006, [23] Win4Lin lanzó Win4Lin Virtual Desktop Server basado en la misma base de código. Win4Lin Virtual Desktop Server sirve sesiones de Microsoft Windows a clientes ligeros desde un servidor Linux.
En septiembre de 2006, Win4Lin anunció un cambio del nombre de la empresa a Virtual Bridges con el lanzamiento de Win4BSD Pro Desktop, una adaptación del producto a FreeBSD y PC-BSD. El soporte de Solaris siguió en mayo de 2007 con el lanzamiento de Win4Solaris Pro Desktop y Win4Solaris Virtual Desktop Server. [24]
SerialICE
SerialICE es una herramienta de depuración de firmware basada en QEMU que ejecuta el firmware del sistema dentro de QEMU mientras accede al hardware real a través de una conexión en serie a un sistema host. Esto se puede utilizar como un reemplazo económico para emuladores en circuito de hardware (ICE). [25]
WinUAE
WinUAE introdujo soporte para las placas CyberStorm PPC y Blizzard 603e usando el núcleo QEMU PPC en la versión 3.0.0. [26]
Unicornio
Unicorn es un marco de emulación de CPU basado en el emulador de CPU "TCG" de QEMU. A diferencia de QEMU, unicornio se centra en la CPU única : no se proporciona la emulación de los periféricos y código binario (fuera del contexto de un archivo ejecutable o una imagen del sistema) se puede ejecutar directamente. Unicorn es seguro para subprocesos y tiene múltiples enlaces e interfaces de instrumentación. [27]
Plataformas de hardware emuladas
x86
Además de la CPU (que también es configurable y puede emular varios modelos de CPU Intel, incluidos (a partir del 3 de marzo de 2018) Sandy Bridge , [28] Ivy Bridge , [29] Haswell , [30] Broadwell [31] [32] y Skylake [30] ), se emulan los siguientes dispositivos:
- Unidad de CD / DVD-ROM con una imagen ISO
- Unidad de disquete
- ATA controlador o Serial ATA AHCI controlador
- Tarjeta gráfica : Cirrus CLGD 5446 PCI VGA -card, Standard-VGA graphics card with Bochs- VBE , Red Hat QXL VGA
- Tarjeta de red : Realtek 8139C + PCI, NE2000 PCI, NE2000 ISA, PCnet , E1000 (PCI Intel Gigabit Ethernet) y E1000E (PCIe Intel Gigabit Ethernet) [33] [34]
- Interfaz de disco NVMe
- Puerto serial
- Puerto paralelo
- Altavoz de la PC
- Conjuntos de chips i440FX / PIIX3 o Q35 / ICH9
- Ratón y teclado PS / 2
- Controlador SCSI : LSI MegaRAID SAS 1078, LSI53C895A, NCR53C9x como se encuentra en los controladores AMD PCscsi y Tekram DC-390
- Tarjeta de sonido : Sound Blaster 16 , AudioPCI ES1370 ( AC97 ), Gravis Ultrasound e Intel HD Audio [35]
- Temporizador de vigilancia (Intel 6300 ESB PCI o iB700 ISA)
- Controladores USB 1.x / 2.x / 3.x ( UHCI , EHCI , xHCI )
- Dispositivos USB: audio, dongle Bluetooth, HID (teclado / mouse / tableta), MTP , interfaz en serie, lector de tarjetas inteligentes CAC , almacenamiento ( transferencia solo masiva y SCSI conectado por USB ), tableta Wacom
- Dispositivos VirtIO paravirtualizados : dispositivo de bloque, tarjeta de red, controlador SCSI, dispositivo de video, interfaz serial, controlador de globo , controlador de sistema de archivos 9pfs
- Dispositivos Xen paravirtualizados: dispositivo de bloque, tarjeta de red, consola, framebuffer y dispositivo de entrada
La implementación de BIOS utilizada por QEMU a partir de la versión 0.12 es SeaBIOS . La implementación del BIOS VGA proviene de Plex86 / Bochs . El firmware UEFI para QEMU es OVMF. [36]
PowerPC
PowerMac
QEMU emula los siguientes periféricos PowerMac :
- Puente PCI UniNorth
- Tarjeta gráfica compatible con PCI-VGA que asigna las extensiones VESA Bochs
- Dos interfaces PMAC-IDE con soporte para disco duro y CD-ROM.
- Adaptador PCI NE2000
- RAM no volátil
- VIA-CUDA con teclado y mouse ADB .
OpenBIOS se utiliza como firmware.
DEBERES
QEMU emula los siguientes periféricos PREP :
- Puente PCI
- Tarjeta gráfica compatible con PCI VGA con extensiones VESA Bochs
- Dos interfaces IDE con soporte para disco duro y CD-ROM
- Unidad de disquete
- Adaptador de red NE2000
- Interfaz de serie
- PREP RAM no volátil
- Teclado y mouse compatibles con PC
En el objetivo PREP, se utiliza Open Hack'Ware , un BIOS compatible con Open-Firmware .
IBM System p
QEMU puede emular la interfaz sPAPR paravirtual con los siguientes periféricos:
- Puente PCI, para acceder a dispositivos virtio, gráficos compatibles con VGA, USB, etc.
- Adaptador de red de E / S virtual, controlador SCSI e interfaz en serie
- sPAPR RAM no volátil
En el destino sPAPR, se utiliza otro BIOS compatible con Open-Firmware, llamado SLOF.
BRAZO
ARM32
QEMU emula el conjunto de instrucciones ARMv7 (y hasta ARMv5TEJ) con la extensión NEON. [37] Emula sistemas completos como la placa Integrator / CP, placa base versátil, placa base con emulación RealView, PDA basadas en XScale, PDA Palm Tungsten | E, tabletas de Internet Nokia N800 y Nokia N810, etc. QEMU también alimenta el emulador de Android que es parte de el SDK de Android (la mayoría de las implementaciones actuales de Android están basadas en ARM). A partir de la versión 2.0.0 de su Bada SDK, Samsung ha elegido QEMU para ayudar al desarrollo en dispositivos 'Wave' emulados.
En 1.5.0 y 1.6.0 se emula Samsung Exynos 4210 (dual-core Cortex a9) y Versatile Express ARM Cortex-A9 ARM Cortex-A15 . En 1.6.0, se emulan las instrucciones de 32 bits de la arquitectura ARMv8 (AARCH64), pero las instrucciones de 64 bits no son compatibles.
El SoC Zynq basado en Xilinx Cortex A9 está modelado, con los siguientes elementos:
- CPU Zynq-7000 ARM Cortex-A9
- Zynq-7000 ARM Cortex-A9 MPCore
- Contador de temporizador triple
- Controlador de memoria DDR
- Controlador DMA (PL330)
- Controlador de memoria estática (NAND / NOR Flash)
- Controlador de periféricos SD / SDIO (SDHCI)
- Controlador Zynq Gigabit Ethernet
- Controlador USB (EHCI: solo compatible con host)
- Controlador Zynq UART
- Controladores SPI y QSPI
- Controlador I2C
ARM64
SPARC
QEMU admite arquitecturas SPARC de 32 y 64 bits .
Cuando el firmware en JavaStation (sun4m-Architecture) se convirtió en la versión 0.8.1 Proll , [38] un reemplazo de PROM usado en la versión 0.8.2, fue reemplazado por OpenBIOS .
SPARC32
QEMU emula los siguientes periféricos sun4m / sun4c / sun4d :
- IOMMU o IO-UNITs
- Búfer de fotogramas TCX (tarjeta gráfica)
- Lanza (Am7990) Ethernet
- RAM no volátil M48T02 / M48T08
- E / S esclavas: temporizadores, controladores de interrupción, puertos serie Zilog , teclado y lógica de encendido / reinicio
- Controlador ESP SCSI con soporte para disco duro y CD-ROM
- Unidad de disquete (no en SS-600MP)
- Dispositivo de sonido CS4231 (solo en SS-5, aún no funciona)
SPARC64
Emulando Sun4u (máquina tipo PC UltraSPARC), Sun4v (máquina tipo PC T1) o máquina genérica Niagara (T1) con los siguientes periféricos:
- Puente PCI UltraSparc IIi APB
- Tarjeta compatible con PCI VGA con extensiones VESA Bochs
- Ratón y teclado PS / 2
- RAM no volátil M48T59
- Puertos serie compatibles con PC
- 2 interfaces PCI IDE con soporte para disco duro y CD-ROM
- Disco flexible
MicroBlaze
Periféricos compatibles:
- MicroBlaze con / sin MMU, incluido
- Periféricos del controlador de interrupción y temporizador AXI
- Controlador de memoria externa AXI
- Controlador AXI DMA
- Xilinx AXI Ethernet
- AXI Ethernet Lite
- AXI UART 16650 y UARTLite
- Controlador AXI SPI
LatticeMico32
Periféricos compatibles: del Milkymist SoC
- UART
- VGA
- Tarjeta de memoria
- Ethernet
- pfu
- Temporizador
CRIS
OpenRISC
Otros
Existen árboles externos que apoyan los siguientes objetivos:
- Zilog Z80 [39] emulando un Sinclair 48K ZX Spectrum
- HP PA-RISC [40]
- RISC-V [41]
Ver también
- qcow
- Comparación de software de virtualización de plataformas
- Mtools
- OVPsim
- Q
- SIMH
- SPIM
- GXemul
- Cajas de GNOME
Referencias
- ^ "Lanzamiento de la versión 6.0.0 de QEMU" .
- ^ Jang, Michael (2008). Administración del servidor Ubuntu . Biblioteca de profesionales de la red. Profesional de McGraw Hill. págs. 548, 592. ISBN 9780071598927. Consultado el 30 de mayo de 2011 .
QEMU, abreviatura de Quick EMUlator, es un hipervisor [...] también conocido como monitor de máquina virtual [...]
- ^ Velocidad, Richard (25/04/2019). "QEMU 4 llega con juguetes para admiradores de Arm, revolucionarios de RISC-V, patriotas de POWER ... ya entiendes" . www.theregister.co.uk . El registro . Archivado desde el original el 1 de octubre de 2019 . Consultado el 1 de octubre de 2019 .
- ^ "Licencia - QEMU" . wiki.qemu.org .
- ^ "Internos de QEMU" . qemu.weilnetz.de .[ enlace muerto permanente ]
- ^ "Lista de soporte del sistema operativo QEMU" . www.claunia.com .
- ^ "QEMU PRIP 1 - soporte para MIPS64 Release 6 - PRPL" . wiki.prplfoundation.org . Archivado desde el original el 21 de abril de 2017 . Consultado el 22 de diciembre de 2014 .
- ^ "[Qemu-devel] ANUNCIO: Lanzamiento 0.10.0 de QEMU" . listas.gnu.org .
- ^ Filardo, Nathaniel (11 de septiembre de 2007). "Portar QEMU al Plan 9: Interior de QEMU y estrategia portuaria" (PDF) . gsoc.cat-v.org . - una revisión de cómo funcionaba el antiguo dyngen
- ^ "Lanzamiento de KQEMU 1.3.0pre10 - bajo la GPL [LWN.net]" . Lwn.net. 6 de febrero de 2007 . Consultado el 3 de enero de 2009 .
- ^ Liguori, Anthony (10 de agosto de 2009). "[Qemu-devel] [PATCH 1/2] Elimina el soporte de mem grandes eliminando kqemu" . Consultado el 11 de marzo de 2010 .
- ^ "Configuración del modelo de CPU QEMU / KVM" . Documentación de QEMU 5.0.50 (v5.0.0-962-g49ee115552) .
- ^ "HAXM se convierte en código abierto" . Desarrolladores de QEMU. 2017-11-17 . Consultado el 14 de enero de 2017 .
HAXM ahora es de código abierto
- ^ "Administrador de ejecución acelerada de hardware Intel" . Intel. 2013-11-27 . Consultado el 12 de mayo de 2014 .
Intel Hardware Accelerated Execution Manager (Intel® HAXM) es un motor de virtualización asistido por hardware (hipervisor) que utiliza la tecnología de virtualización Intel (Intel® VT) para acelerar la emulación de aplicaciones de Android en una máquina host.
- ^ a b "Invocación" . Documentación de QEMU 5.0.50 (v5.0.0-962-g49ee115552) .
- ^ "Documentación de usuario del emulador QEMU" . qemu.weilnetz.de .
- ^ "Arranque desde una imagen ISO usando qemu" . Consejos para Linux .
- ^ Hu, Weiwu; Wang, Jian; Gao, Xiang; Chen, Yunji; Liu, Qi; Li, Guojie (2009). "Godson-3: un procesador RISC multinúcleo escalable con emulación x86" . IEEE Micro . IEEE . 29 (2): 17-29. doi : 10.1109 / MM.2009.30 . S2CID 726798 . Consultado el 16 de abril de 2009 .
- ^ "Preguntas frecuentes para desarrolladores de VirtualBox" . Consultado el 2 de febrero de 2015 .
- ^ "Xen ARM con extensiones de virtualización" .
- ^ "Oracle y Sun Microsystems - Adquisiciones estratégicas - Oracle" (PDF) . www.sun.com .
- ^ Desmitificando Xen HVM Archivado el 22 de diciembre de 2007 en la Wayback Machine.
- ^ Anuncio de win4lin VDS Archivado el 10 de febrero de 2008 en Wayback Machine.
- ^ Anuncio de Win4Solaris Archivado el 23 de diciembre de 2007 en Wayback Machine.
- ^ "SerialICE" . serialice.com .
- ^ "WinUAE 3.0.0" . Junta inglesa de Amiga. 2014-12-17 . Consultado el 25 de marzo de 2016 .
- ^ "Unicornio y QEMU" . Motor Unicornio .
- ^ "[Qemu-devel] [PATCH 3/3] agrega el modelo de CPU SandyBridge" . listas.gnu.org .
- ^ "Qemu-Changelog-2.3 x86" . wiki.qemu.org .
- ^ a b "QEMU-changelog-2.6, x86 KVM" . wiki.qemu.org .
- ^ "QEMU-changelog-2.1, x86 KVM" . wiki.qemu.org .
- ^ "QEMU-changelog-2.5, modelos y características de CPU x86" . wiki.qemu.org .
- ^ https://qemu.weilnetz.de/doc/qemu-doc.html#pcsys_005fnetwork "i82551, i82557b, i82559er, ne2k_pci, ne2k_isa, pcnet, rtl8139, e1000, smc91c111, lance y mcf_fec"
- ^ http://pclosmag.com/html/issues/201208/page11.html Redes en QEMU: configuración de la evaluación ISA de E1000 y Novell NE2000
- ^ "ChangeLog / 0.14" . Consultado el 8 de agosto de 2011 .
- ^ https://wiki.ubuntu.com/UEFI/OVMF
- ^ "gitorious.org Git - bote de remos: external-qemu.git / commit" . gitorious.org .
- ^ "Linux de Zaitcev" . 090427 people.redhat.com
- ^ "Objetivo QEMU Z80" . Archivado desde el original el 6 de junio de 2016. 090506 homepage.ntlworld.com
- ^ "Enlaces QEMU" . 090506 nongnu.org
- ^ "Descargar - RISC-V" . Archivado desde el original el 23 de enero de 2016 . Consultado el 27 de diciembre de 2014 .
enlaces externos
- Página web oficial
- Emulación de sistemas con QEMU un artículo de IBM developerWorks por M. Tim Jones
- Página del proyecto QVM86
- Debian en una máquina ARM emulada
- Emulación de puerto Fedora ARM con QEMU
- El Wikibook "QEMU y KVM" (en alemán o traducido por computadora al inglés)
- QEMU en Windows
- Binarios de QEMU para Windows
- Emulación de Microblaze con QEMU
- Comparación de velocidad QEMU
- UnifiedSessionsManager: una definición de archivo de configuración QEMU / KVM no oficial
- Couverture, un proyecto de cobertura de código basado en QEMU