QEMU

De Wikipedia, la enciclopedia libre

QEMU  

Captura de pantalla de un sistema Linux ejecutando Qemu.
Desarrollador: Fabrice Bellard
Última versión: 0.9.0 (5 de febrero de 2007)
Última versión en pruebas: última versión de prueba conocida, ej: "3.9.3"
S.O.: Windows, Solaris, Linux, FreeBSD, NetBSD, OpenBSD, Mac OS X, ZETA, BeOS
Género: Emulador
Licencia: Varias
En español:
Sitio Web: fabrice.bellard.free.fr/qemu

QEMU es un emulador de procesadores basado en la traducción dinámica de binarios (conversión del código binario de la arquitectura fuente en código entendible por la arquitectura huésped). QEMU también tiene capacidades de virtualización dentro de un sistema operativo, ya sea Linux, Windows, o cualquiera de los sistemas operativos admitidos (de hecho es la forma más común de uso). Esta máquina virtual puede ejecutarse en cualquier tipo de Microprocesador o arquitectura (x86, x86-64, PowerPC, MIPS, SPARC, etc.). Está licenciado en parte con la LGPL y la GPL de GNU.

El objetivo principal es emular un sistema operativo dentro de otro sin tener que reparticionar el disco duro, empleando para su ubicación cualquier directorio dentro de éste.

El programa no dispone de GUI, pero existe otro programa llamado QEMU manager que hace las veces de interfaz gráfica si se utiliza QEMU desde Windows. También existe una versión para Linux llamado qemu-launcher. En Mac OS X puede utilizarse el programa Q que dispone de una interfaz gráfica para crear y administrar las máquinas virtuales.

Tabla de contenidos

[editar] Detalles

QEMU posee dos modos de operación:

[editar] Emulación del modo usuario

Puede ejecutar procesos compilados para un tipo de CPU en otro tipo de CPU. Las llamadas al sistema son pensadas para endianness y desarreglos en 32/64 bits. Wine y Dosemu son los principales objetivos de QEMU.

[editar] Modo de emulación completo de sistema de computadora

QEMU emula un sistema de computadora completo, incluyendo procesador y varios periféricos. Este puede ser usado para proveer hosting virtual a varias computadoras virtuales en una única computadora. QEMU puede arrancar varios sistemas operativos, incluyendo entre otros Linux, Microsoft Windows, DOS, y BSD. Admite además la emulación de varias plataformas de hardware, incluyendo x86, AMD64, Alpha, Mips, y Sparc.

La mayoría del programa esta bajo licencia LGPL, y el modo de emulación de usuario tiene licencia GPL. La versión para Windows utiliza la capa de sonido propietaria FMOD.

[editar] Acelerador

Fabrice Bellard también escribió un módulo para el kernel Linux (se han hecho adaptaciones preliminares para FreeBSD y Windows), denominados kqemu o acelerador QEMU. Esto acelera la emulación de i386 en plataformas i386 hasta un nivel ligeramente inferior a la ejecución en modo nativo. Se alcanza lo dicho ejecutando el modo de usuario y virtual en modo de código 8086 directamente sobre la CPU del computador. Además, sólo se usa la emulación del procesador y de los periféricos en modo kernel y en modo de código real. Esto es similar a lo que hacen Vmware Workstation y Virtual PC. Como resultado, si se usa sobre ella MS-DOS en modo real, no incrementará demasiado el rendimiento, mientras que Windows 2000 se ejecutará con una velocidad cercana a la nativa.

[editar] Características

Captura de pantalla de qemu-launcher, un frontend para qemu.
Captura de pantalla de qemu-launcher, un frontend para qemu.
  • Soporta emulación de IA-32 (x86) PCs, AMD64 PCs, MIPS R4000, Sun's SPARC sun4m, Sun's SPARC sun4u, ARM development boards (Integrator/CP y Versatile/PB), SH4 SHIX board, PowerPC (PReP y Power Macintosh), y arquitecturas ETRAX CRIS.
  • Soporte para otras arquitecturas en host y sistemas emulados (ver página principal para una lista completa)
  • Aumento de velocidad — algunas aplicaciones pueden correr a una velocidad cercana al tiempo real.
  • Implementa el formato de imagen de disco Copy-On-Write. Se puede declarar una unidad virtual multi-gigabyte, la imagen de disco ocupara solamente el espacio actualmente utilizado.
  • también implementa superposición de imágenes. Se puede mantener una foto del sistema guest, y escribir cambios en un archivo de imagen separado. Si el sistema guest colapsa, es sencillo de volver a la foto del sistema guest.
  • Soporte para ejecutar binarios de Linux en otras arquitecturas.
  • Es posible salvar y restaurar el estado de la maquina (programas en ejecución, etc)
  • emulación de tarjetas de red Virtuales.
  • Soporte SMP.
  • El SO guest no necesita ser modificado o emparchado.
  • Mejoras en la performance cuando el modulo de kernel KQEMU es usado.
  • Las utilidades de linea de comando permiten un control total de QEMU sin tener que ejecutar X11.
  • Control remoto de la maquina emulada a través del servidor VNC integrado.

[editar] Inconvenientes

  • Soporte incompleto para Microsoft Windows como host y otros sistemas operativos (la emulación de estos sistemas es simplemente buena): fue mejorado en versiones recientes.
  • Soporte incompleto para las arquitecturas menos frecuentemente utilizadas.
  • Soporte incompleto de drivers (tarjetas de video, sonido, E/S) para los guest, por lo tanto se tiene una sobrecarga importante en aplicaciones multimedia. Por ejemplo, las tarjetas de video Cirrus Logic y varias tarjetas de sonido populares (ES1370, Sound Blaster 16, y AdLib) son emuladas, pero no proveen la aceleración por hardware en el sistema host. también soporta únicamente SDL o Cocoa como librerías de salida de video, sin embargo un patch para soportar GGI existe.
  • No compila con versiones recientes de GCC (no soporta las versiones 4.x)

[editar] Licencia

Fabrice Bellard inició el desarrollo del acelarador kqemu como código cerrado. No obstante, el 6 de febrero de 2007 cambió su licencia a GPL por lo que a partir de la versión 1.3.0pre11 pasa a ser software libre y puede usarse de acuerdo a los términos de dicha licencia. En versiones anteriores se trataba de un programa libre de uso pero no se permitía distribuirlo a otras personas sin autorización explicita.

[editar] Otras alternativas

[editar] Enlaces externos

Herramientas personales