Máquinas Virtuales > Instalación de Qemu

Introducción a los emuladores

Un emulador es un programa informático capaz de simular o imitar a otro programa o sistema.

Existen emuladores de todo tipo aunque los más conocidos por los usuarios de PC son los emuladores de ordenadores antiguos como el ZX-Spectrum, Amstrad, y emuladores de máquinas de juegos como el M.A.M.E que emula máquinas de los salones recreativos.

Para más información buscar en google, yahoo o tu buscador favorito los siguientes términos: emulador spectrum, emulador amstrad, emulador mame, emulador gameboy, etc. También se puede buscar en Inglés spectrum simulator, spectrum emulator, PC emulator ó Virtual PC por ejemplo, el número de páginas encontradas será muy superior.

Tecnología de emulación

Para emular un sistema y poder ejecutar un software diseñado para dicho sistema, el emulador deberá emular componente a componente cada una de las partes integrantes del mismo.

Ejemplo, para emular al viejo ordenador ZX-Spectrum 48K que causó furor en los 80, el emulador deberá poder emular el microprocesador principal a la misma velocidad, en este caso un Zilog Z-80 a 4 MHz de velocidad y al resto de elementos que componían el Spectrum así como su interconexión perfectamente sincronizada y a tiempo real. Deberá así mismo reservar un espacio de memoria que será la memoria donde se almacenarán los programas para el Spectrum y donde accederá el Z-80 para poder leer las instrucciones y los datos en el lenguaje máquina del Z-80, la memoria del Spectrum.

La emulación de los distintos microprocesadores como el Z-80, en el PC se hace por software generalmente mediante un programa en C aunque a veces, por razones de velocidad, es necesario hacerlo con un programa o partes escritas directamente en lenguaje ensamblador.

Los emuladores existen gracias a que los PCs actuales gozan de prestaciones superiores a los sistemas que emulan. Cuando se desea utilizar software para emular hardware, la velocidad es entre 5 y 10 veces inferior pero como el Spectrum es entre 100 y 1000 veces inferior a un PC actual, éstos no tienen dificultades (les sobra tiempo) para emular por software los chips que componen el ZX-Spectrum.

Emuladores de PC

Aunque existen emuladores de todo tipo, los emuladores en los que nos centraremos son los emuladores de PC ya que nos permitirán disponer de un PC virtual dentro de nuestro PC real.

El PC virtual dispondrá de su propia BIOS, su propio Procesador, su propia Memoria y su propio disco duro virtual que en realidad será un archivo dentro del PC real.

En dicho PC virtual podremos instalar el sistema operativo que deseemos (Windows 95-98-XP, Linux, ...) totalmente independiente de nuestro sistema operativo real y hacer las pruebas que deseemos (formatear el disco duro, realizar particiones, instalar y configurar el sistema operativo) sin alterar el sistema operativo de nuestro PC real.

Como ya se ha mencionado en el punto anterior, un sistema virtual tiene un rendimiento entre 5 y 10 veces inferior al sistema real, por lo tanto, si disponemos de un PC a 3000 MHz, el rendimiento del PC virtual será similar al de un PC cuya velocidad oscile entre 300 y 600 MHz aproximadamente.

Existen varios emuladores de PC tanto comerciales como libres. Los comerciales son más fáciles de instalar, configurar y manejar y son más rápidos y más semejantes en su comportamiento a los PCs reales. Los más conocidos son 'vmware' y 'virtual PC'. De vmware existen versiones tanto para Linux como para Windows pero de virtual PC solo existen versiones para Windows.

Los emuladores de PC libres son aplicaciones en desarrollo y su calidad no alcanza la de los emuladores de pago pero cubren nuestras necesidades de forma satisfactoria. Los más conocidos son Bochs y qemu. De ambos existen versiones tanto para Windows como para Linux. En las pruebas que hemos realizado, qemu ha mostrado un rendimiento mayor que Bochs, por lo tanto de ahora en adelante usaremos qemu.

Para más información buscar en google, yahoo o tu buscador favorito los siguientes términos: emuladores de PC, PC emulator, vmware, virtual PC, bochs, qemu.

Emulador qemu

Qemu es un emulador de PC. Permite simular un PC de forma que podemos disponer de un 'PC virtual' dentro de nuestro propio PC con lo cual es como si dispusiéramos de dos PCs. La página web del proyecto se encuentra en:

»http://fabrice.bellard.free.fr/qemu/

En ella encontraremos la documentación (en Inglés) y podremos descargar los fuentes de la última versión de qemu para Linux ya que es el sistema operativo para el cual se ha creado. Existe también la versión para Windows pero se alberga en otra página web a la cual se puede acceder desde la página web del proyecto.

Instalación de qemu en Knoppix

Normalmente las aplicaciones libres para linux se instalan compilando los fuentes. Podríamos hacer lo mismo con qemu pero descargarse los fuentes y compilarlos es una tarea compleja. Como Knoppix está basado en debian, podemos instalar qemu utilizando el comando apt-get desde una consola de root, siempre y cuando el archivo /etc/apt/sources.list contenga la dirección de un repositorio que disponga del programa. Podemos comprobar si existe algún repositorio o copiar alguno de los ejemplos del apartado Varios. El sources.list por defecto de debian contiene repositorios con qemu por tanto para instalarlo tan solo necesitaríamos estar conectados a Internet, abrir una consola de root y escribir:

// Instalación de qemu
# apt-get install qemu

De esta manera se instalará automáticamente el paquete qemu y todos los paquetes necesarios para ejecutar qemu. Esta es la manera recomendada de instalar cualquier aplicación en debian.

Nota: qemu viene ya incluido en Knoppix.

Configuración de qemu

Al contrario que los emuladores de pago como Vmware o Virtual PC que disponen de asistentes que facilitan la creación y la configuración de máquinas virtuales, haciendo sumamente sencillo el uso del emulador; qemu no dispone de dichas herramientas. Para utilizarlo es necesario abrir una consola y ejecutar el comando qemu seguido de las opciones que deseemos:

Ejemplo, si introducimos el CD de Damn Small Linux en el lector de CDs, podríamos ejecutar:

// Ejemplo lanzar qemu
$ qemu -m 128 -cdrom /dev/cdrom -boot d -k es -std-vga -net nic -net tap

Al lanzar el comando estamos pasando al programa varias opciones:

Qemu no dispone de ningún archivo de configuración, por tanto es necesario indicar las distintas opciones de configuración a la hora de lanzar la aplicación. Esto no supone ningún problema para los usuarios que tengan experiencia en el uso del MS-DOS o Linux ya que serán capaces de crear archivos de shell (como los bat en MS-DOS) con las distintas opciones para no tener que escribirlas cada vez que queramos lanzar qemu. Existen algunos front-ends (programas auxiliares que facilitan el manejo de una aplicación) de qemu para Linux como Kqemu y qemu-Launcher que simplifican su uso. Éste último se puede instalar con apt-get añadiendo en el archivo /etc/apt/sources.list el siguiente repositorio:

 deb http://emeitner.f2o.org/debian/ ./ 

Uso básico del emulador

Para poder utilizarlo con comodidad es necesario conocer algunas particularidades del emulador. Cuando el emulador está en funcionamiento y es la ventana activa, los movimientos de ratón y teclado van hacia el PC virtual, para poder pasar el control de un PC a otro:

Para obtener más ayuda consultar la carpeta /usr/share/doc/qemu/. También en la página del manual de qemu.