Herramientas de virtualización: Bochs y Qemu (2/7)

La emulación hardware simula cada instrucción del procesador como si de otro hardware se tratara. Para implementar este tipo de virtualización se sigue el siguiente esquema:

Emulación hardware que siguen Bochs y Qemu

Emulación hardware que siguen Bochs y Qemu


En este tipo de virtualización, la máquina virtual (MV) es empleada para emular un determinado tipo de hardware. De tal modo que, como cada instrucción debe ser simulada por el hardware subyacente, es un sistema lento con respecto a los otros tipos de virtualización. Aun así, este tipo de virtualización está muy extendida entre los desarrolladores de firmware para hardware que todavía no ha sido fabricado, o que está en fase experimental. A continuación veremos Bochs y Qemu, dos soluciones de virtualización-emulación:

Bochs
Bochs es un sistema de emulación bajo licencia LGPL y que es capaz de simular diferentes arquitecturas, todo ello mediante el hardware subyacente.
Así pues, se puede simular un ordenador x86 que es portable entre varias plataformas: x86, PowerPC, Alpha, SPARC y MIPS. Bochs es un sistema de virtualización en el que se simula el ordenador completo: procesador, periféricos, tarjetas gráficas, adaptadores de red… Permite la creación (mediante emulación) de cualquier arquitectura, y la ejecución de múltiples sistemas operativos sobre Linux (Windows 95/98/NT/2000, FreeBSD, OpenBSD,…)
Es un sistema muy poco extendido principalmente porque carece de una interfaz gráfica muy amigable y sencilla, como ofrecen el resto de herramientas de virtualización.

Qemu
Qemu es una opción de virtualización que ofrece dos modos de operación: modo de emulación de sistema completo y modo de emulación de usuario.
El primer modo es similar a Bochs ya que emula un ordenador completo (procesador, sistemas de almacenamiento y periféricos) y puede emular arquitecturas como x86, x86-64, ARM, SPARC, PowerPC y MIPS. De esta forma se puede emular Windows y Linux, sobre un sistema Linux, Solaris y FreeBSD.
El segundo modo solamente se puede alojar en Linux, y nos permite ejecutar binarios para arquitecturas MIPS, ARM, SPARC, PowerPC, u otras en desarrollo, sobre un Linux instalado en una arquitectura x86.
Al igual que Bochs, Qemu tampoco tiene una interfaz muy amigable con lo que su uso no está muy extendido. Hay que reseñar que Qemu fue la base sobre la que luego se desarrollaron otras tecnologías de virtualización, como por ejemplo Xen, de la que hablaremos más adelante.

Leave a Reply