Una máquina virtual es un software diseñado para simular un entorno informático, como si fuera una computadora física, capaz de ejecutar aplicaciones y sistemas operativos. 

A grandes rasgos, permite que un sistema operativo opere dentro de otro. Las máquinas virtuales resultan útiles para optimizar servidores, dividir los recursos de un ordenador en varios sistemas y probar sistemas operativos sin tener que instalarlos directamente en el hardware.

Conoce más sobre su funcionamiento en este artículo.

Definición de máquina virtual

Una máquina virtual es un software que contiene todas las instancias de un sistema operativo y que funciona como una computadora completa. En otras palabras, es un ordenador que se ejecuta dentro de otro ordenador. Utiliza un programa cliente que sirve como capa de virtualización entre el sistema de un ordenador y otro que se desea ejecutar. 

El procedimiento es distinto al de un emulador, que tiene como finalidad copiar los recursos de un dispositivo o sistema y hacer que funcionen con un ordenador. La máquina virtual, en este caso, funciona de forma totalmente aislada e independiente, y también puede ejecutar sistemas operativos que generalmente no son compatibles con la arquitectura del ordenador que sirve como huésped. 

Parallels Workspace, un software de pago diseñado para ejecutar máquinas virtuales en MacOS basadas en distribuciones de Linux o de Windows, es un ejemplo perfecto de una capa de virtualización. Otro ejemplo destacable Virtual Box, un software de código abierto, gratuito y disponible para Mac OS, Windows y Linux, que puede crear máquinas virtuales a partir de prácticamente cualquier SO.

Acorde a las características técnicas del ordenador, es posible crear más de una máquina virtual simultáneamente y ejecutarlas en paralelo; la memoria RAM, la potencia del procesador y el espacio de almacenamiento disponible en el disco duro son las únicas limitantes. 

¿Para qué se utilizan las máquinas virtuales?

Las máquinas virtuales son ideales para ejecutar sistemas operativos sin que sea necesario realizar su instalación directamente en el disco duro de arranque, previniendo de esta manera errores y problemas molestos que puedan presentarse. Para propósitos similares, los desarrolladores a menudo prefieren testear en máquinas virtuales las versiones de prueba de sus softwares. 

En el mundo de los negocios, la virtualización es una práctica frecuente de la que se obtiene mucho provecho. Un hipervisor (es decir, la capa de virtualización) tiene la capacidad de operar una vasta cantidad de máquinas virtuales, minimizando el consumo energético y las necesidades de mantenimiento que presenta el hardware físico.  

Cada máquina virtual creada en un hipervisor es capaz de ejecutar un sistema operativo por separado y de forma independiente, dedicando más o menos RAM, poder de procesamiento y espacio de almacenamiento a cada una de ellas según las necesidades y del usuario.

Tipos de hipervisores 

Tipo 1

El primer tipo de hipervisor es conocido como bare metal y se instala y programa directamente en el hardware de la computadora, sin que haya de por medio ningún sistema operativo que sirva como host. Por este motivo, es el tipo de hipervisor que permite a los sistemas operativos virtualizados funcionar directamente con los recursos del sistema. Ofrece una eficiente administración de recursos y una alta disponibilidad, así como una mayor estabilidad, rendimiento y escalabilidad. 

En esta categoría de hipervisores podemos encontrar softwares como Microsoft Hyper-V, Wind River, VMWAre ESX Server y Citrix XenServer (utilizado por los servidores de Amazon).

Tipo 2

El segundo tipo de hipervisor funciona en un host para crear los entornos virtuales. Dicho de otro modo, no se ejecuta propiamente en el hardware sino en un sistema operativo. Un hipervisor de este tipo no puede acceder directamente a los recursos del sistema, lo que incrementa el consumo de recursos y afecta negativamente el performance de la máquina virtual. 

Dentro de este tipo de hipervisores se pueden mencionar los softwares Box, VMware Workstation, Parallels Desktop, Microsoft Virtual PC, Player y Server. 

Ventajas de una máquina virtual ante una real

Las máquinas virtuales pueden ofrecer múltiples ventajas sobre la instalación convencional de software y sistemas operativos. Por ejemplo, el aislamiento asegura que los servicios y programas ejecutándose en una máquina virtual no interferirán como el sistema operativo que sirve de host (en el caso de hipervisores tipo 2) ni con otras máquinas virtuales.

Además de esto, las máquinas virtual pueden ser copiadas, transferidas y trasladadas con gran facilidad entre diferentes ordenadores para maximizar el aprovechamiento de los recursos del sistema. También, los administrados pueden sacar provecho de los entornos virtuales para crear backups, restaurar datos y realizar labores básicas de administración del sistema. 

Sin ninguna duda una de las mayores bondades de las máquinas virtuales es poder ejecutar numerosos sistemas operativos sin que sea necesario particionar el disco duro. De tal modo que podemos instalar versiones anteriores de Linux, Windows y otros sistemas sin realizar cambios en el disco duro.

¿Cuáles son las limitaciones de una máquina virtual? 

Una máquina virtual puede tener limitaciones basadas en el tipo de uso. La primera tiene que ver con el hardware en el que funcionará la capa de virtualización o hipervisor: la máquina virtual puede ser lenta si el dispositivo tiene una CPU poco potente o escasa memoria RAM, y puede no cumplir los requerimientos de las aplicaciones que se desea ejecutar.

La segunda limitante se refiere a los costos: si bien el funcionamiento de las distribuciones gratuitas de Linux para uso individual no requiere más que descargar el sistema operativo e instalarlo en la máquina virtual, lo mismo no aplica para otras distribuciones de pago y Windows. En ese caso, cada máquina virtual debe tener su propia licencia para poder utilizarlas legítimamente. 

De forma similar, Apple prohíbe que MacOS pueda ser instalado en una plataforma de virtualización (teóricamente hablando, ningún hipervisor puede dar soporte), debido a que su sistema operativo fue creado para únicamente funcionar con los ordenadores Mac que fabrica la compañía. 

Por este motivo, la única forma en que es posible utilizar MacOS con máquinas virtuales sería utilizando un ordenador Mac como hardware para ejecutar el hipervisor y virtualizando dentro de él otros sistemas.