QEMU

QEMU

De Wikipedia, la enciclopedia libre

QEMU
Qemu linux.png
Captura de pantalla de un sistema Linux ejecutando Qemu.
Desarrollador
Fabrice Bellard
bellard.org/qemu/
Información general
Última versión estable 0.10.6
30 de julio de 2009
Género Emulador
Sistema operativo Windows, Solaris, Linux, FreeBSD, NetBSD, OpenBSD, Mac OS X, ZETA, BeOS
Licencia Varias
En español ?
Captura de pantalla de qemu emulando ReactOS en un procesador PowerPC.

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.

Contenido

Detalles

QEMU posee dos modos de operación:

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.

Modo de emulación completo de sistema de ordenador

QEMU emula un sistema informático completo, incluyendo procesador y varios periféricos. Este puede ser usado para proveer hosting virtual a varios ordenadores virtuales en un único ordenador. 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 está bajo licencia LGPL, y el modo de emulación de usuario tiene licencia GPL. La versión para Windows utiliza la capa de sonido FMOD, que es un programa privativo.

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. Atención: El soporte de kqemu por parte de qemu se ha eliminado en su versión 0.12. 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.

Características

Captura de pantalla de qemu-launcher, un frontend para qemu.
  • Soporta emulación de IA-32 (x86) PC, AMD64 PC, 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 ocupará solamente el espacio actualmente utilizado.
  • Implementa la superposición de imágenes. Se puede mantener una foto del sistema huésped, y escribir cambios en un archivo de imagen separado. Si el sistema huésped se colapsa, es sencillo volver a la foto del sistema huésped.
  • Soporte para ejecutar binarios de Linux en otras arquitecturas.
  • Es posible salvar y restaurar el estado de la máquina (por ejemplo programas en ejecución.)
  • Emulación de tarjetas de red virtuales.
  • Soporte SMP.
  • El Sistema Operativo huésped no necesita ser modificado o parcheado.
  • Mejoras en el rendimiento cuando se usa el módulo del kernel KQEMU (no soportado desde la version 0.12).
  • Las utilidades de línea de comandos permiten un control total de QEMU sin tener que ejecutar X11.
  • Control remoto de la máquina emulada a través del servidor VNC integrado.

Inconvenientes

  • Soporte incompleto para Microsoft Windows como huésped y otros sistemas operativos (la emulación de estos sistemas es simplemente buena): fue mejorado en versiones recientes.
  • Soporte incompleto para las arquitecturas utilizadas menos frecuentemente.
  • Soporte incompleto de controladores(tarjetas de vídeo, sonido, E/S) para los huéspedes, por lo tanto se tiene una sobrecarga importante en aplicaciones multimedia. Por ejemplo, las tarjetas de vídeo 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 bibliotecas de salida de video, sin embargo existe un parchepara para soportar GGI.
  • No compila con versiones recientes de GCC (no soporta las versiones 4.x)

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.

Otras alternativas

Véase también

Enlaces externos


Aquest article està llicenciat sota la Llicència de Documentació Lliure de GNU. Estàs utilitzant material de article"QEMU".