1.6. Funcionamiento de las máquinas virtuales
Hasta hace relativamente poco tiempo, no era nada sencillo para los usuarios de ordenadores personales disponer de una máquina funcionando con Linux. Implicaba la desinstalación del SO previamente instalado, o cuando menos, la creación de particiones independientes con un gestor de arranque dual que permitiera la coexistencia de ambos sistemas. Las distribuciones de Linux, además, carecían de un protocolo simple de instalación, requiriendo de un profundo conocimiento a nivel técnico de la máquina. Afortunadamente, en el momento actual se han superado ampliamente muchas de las barreras que complican el acceso a esta tecnología. De hecho, hoy en día podemos probar fácilmente in situ la mayoría de las distribuciones Linux en nuestros ordenadores sin modificar su configuración, mediante el uso de las denominadas máquinas virtuales.
Una máquina virtual (MV) es un programa que imita el funcionamiento de un ordenador, trabajando como una aplicación convencional dentro de nuestra propia máquina. De este modo, mientras nuestra máquina está gobernada por un SO que recibe la denominación de huésped (en inglés, host), la MV funciona bajo el control de un segundo SO que actúa como invitado (en inglés, guest). Para dotar de esta funcionalidad a nuestro ordenador es preciso instalar en nuestra máquina un software de virtualización capaz de gestionar múltiples máquinas virtuales simultáneamente. Los programas gestores de máquinas virtuales pueden instalarse en múltiples plataformas para actuar como huésped, siendo capaces de ejecutar dentro de una ventana una máquina ficticia gestionada por otro SO diferente invitado. En términos prácticos, la MV para el ordenador huésped es una aplicación convencional, mientras que desde el interior de esta la emulación logra que el SO invitado crea que trabaja sobre una verdadera máquina física funcionando a su entera disposición.
El sistema de ficheros de la MV invitada se almacena físicamente en un único fichero dentro de nuestro ordenador, junto con las opciones de configuración establecidas durante la instalación. Lógicamente, la MV posee acceso a determinados periféricos de nuestra propia máquina, tales como el teclado, el ratón, la pantalla o el acceso a Internet. Para realizar el intercambio de información entre la MV y nuestra máquina podemos acceder a los dispositivos USB conectados físicamente en nuestro ordenador, crear una carpeta compartida entre el guest y el host o depositar nuestros ficheros en la red a través de distintos portales de la nube. No obstante, tanto la configuración real de nuestro ordenador como el núcleo de nuestro sistema de ficheros montado desde nuestros discos duros internos permanecerán ocultos para la MV. La gestión de diferentes tipos de datos dentro de la MV obviamente repercute en un tiempo de respuesta mayor que en el caso de trabajar de forma nativa con el mismo SO invitado, pero las últimas versiones de los programas de virtualización están claramente disminuyendo estas diferencias. En conclusión, esta aproximación resulta enormemente atractiva para probar cualquier nuevo sistema sin modificar nuestro entorno de trabajo habitual.