Diferencias entre emuladores de PC e hipervisores

31 de octubre de 2020



Muchas veces nos ha pasado que al intentar ejecutar un programa nos damos cuenta de que no es compatible con nuestro ordenador; ya sea porque la versión que tenemos en ejecución no la soporte o porque de repente está diseñado para otro sistema operativo. Si bien es cierto de que en Windows existe una función para "engañar" a un programa diciéndole que nos encontramos en una versión distinta, muchas veces aparecen problemas de por medio e incluso puede no suceder absolutamente nada, y por ende no solucionar nuestro problema.

Para esta situación, disponemos de una forma para poder corregirlo muy conocida y utilizada a día de hoy. Estoy hablando precisamente, del uso de emuladores e hipervisores.

Estos dos conceptos, si bien a simple vista pueden parecer lo mismo, internamente poseen más de una diferencia. Dado a esto, es fácil confundir un hipervisor con un emulador, y viceversa. Y si bien es cierto que ambos cumplen un mismo objetivo (crear una computadora dentro de otra en el caso que trato en este artículo), los mecanismos utilizados son distintos. A continuación veremos más a fondo cuáles son.

Emulador de PC

 
PCem, ejecutando Windows 98 SE

Un emulador es un programa que tiene como propósito imitar el comportamiento de otro sistema. Es decir, que desde donde se ejecuta (host) se cargan los componentes necesarios para que otro sistema (huésped) se inicie.
 
En el caso de un emulador de PC, lo que hace es cargar todos los componentes del hardware (procesador, memoria RAM, discos duros, tarjeta de video, etc...) a una capa de software, en donde luego se activan y se inicia la emulación. El problema de esto es que, al ejecutarse directamente, se genera un consumo considerablemente alto dentro del programa, el cual puede incrementarse dependiendo de los requisitos que un sistema operativo solicite. Por lo tanto, es necesario contar con un ordenador lo suficientemente potente para emular otros ordenadores que necesiten una cantidad de recursos, como lo puede ser una emulación de una PC que ejecute Windows XP, o más aun, en una versión más moderna.
 
Existen varios programas que cumplen la función de emular una computadora. Las opciones son variadas, entre las más sencillas contamos con PCem o 86box, o si no algunas más complejas como QEMU. Todos los mencionados son gratuitos.

Hipervisor

 

VMware Workstation, uno de los hipervisores más conocidos. (Fuente)

A diferencia de un emulador, un hipervisor utiliza tecnología de virtualización para ejecutar un sistema operativo. En este caso, se utiliza directamente el hardware de la máquina física, del cual se comparten varios recursos para usarse en el entorno virtualizado, lo que se conoce como máquina virtual. La ventaja que tiene esto es que se reduce notablemenete el consumo del procesador y de memoria, ya que no hay que crear una emulación completa del hardware de una máquina. También nos permite ejecutar sistemas operativos más actuales, o con requisitos elevados. Lo único que genera consumo es cualquier software que se le cargue a la virtualización, tales como sistemas operativos y programas que se le instalen dentro.

El inconveniente que puede tener un hipervisor en comparación con un emulador, es que dado a la ejecución directa del hardware de la máquina host, es posible que algunos sistemas operativos antiguos no funcionen o presenten varios problemas a la hora de su virtualización. El motivo es sencillo, ya que lo estamos haciendo con software antiguo el cual usa los componentes recientes de una PC.

Los hipervisores más usados son VMware y VirtualBox. Podría agregar el viejo Virtual PC de Microsoft, aunque se encuentra descontinuado y es incompatible con las versiones más recientes de Windows (si bien existe por ahí algún que otro parche que te permitirá ejecutarlo, aunque no es muy recomendable por temas de inestabilidad).
 
Hay que aclarar también que el concepto de hipervisor es más complejo. Si bien lo podemos mencionar como una alternativa en comparación a un emulador, es una tecnología utilizada a menudo en varios entornos de la informática en general. 
 
De hecho, existen dos tipos de hipervisores:
  • Los de tipo 1 se ejecutan directamente desde la computadora y no dependen de ninguna otra instancia de software. Son usados básicamente en entornos empresariales y en centros de datos.
  • Lo de tipo 2 son alojados dentro de un sistema operativo ya cargado desde una máquina física y funcionan como un programa más, si bien el hipervisor usa directamente el hardware de dicha máquina.

Este último es el que hago referencia aquí, ya que también está pensado para ejecutarse en computadoras personales y en entornos de hogar.

¿Cuál de los dos elegir?

Eso depende de dos factores; el sistema operativo que le quieras instalar a la máquina y el uso que le vayas a dar. Si tu caso es utilizarla por motivos de compatibilidad, como por ejemplo, abrir algunos juegos o programas que no sean compatibles con tu sistema, será mejor que uses un hipervisor. Como ya mencioné anteriormente, este utilizará el hardware de tu PC directamente y no tendrá que recrearlo todo de nuevo, siendo un plus en materia de rendimiento. Ahora bien, si lo tuyo es tan solo probar, o de repente quieres ir curioseando con versiones antiguas de distintos sistemas operativos, tal vez lo mejor para tí sería un emulador, donde puedes incluso emular hardware antiguo.

No hay comentarios: