Un hi­pe­r­vi­sor (también conocido por su nombre en inglés: hy­pe­r­vi­sor) es un software o firmware que crea y gestiona máquinas virtuales, al abstraer los recursos de hardware de un ordenador físico y ponerlos a di­s­po­si­ción de varios sistemas ope­ra­ti­vos al mismo tiempo. En lugar de montar un sistema completo (hardware más sistema operativo), se genera si­m­ple­me­n­te una versión virtual: una re­pre­se­n­ta­ción virtual de un entorno de PC.

¿Cómo funciona un hi­pe­r­vi­sor?

Al crear una máquina virtual (VM), esta se ejecuta sobre una máquina real no vi­r­tua­li­za­da, como un PC. La VM depende, por tanto, del hardware físico. Por ello existe una capa in­te­r­me­dia entre ambos niveles, encargada de la gestión: el hi­pe­r­vi­sor.

El hi­pe­r­vi­sor es un software que se ocupa de la gestión de los recursos ne­ce­sa­rios. Este programa, también conocido como Virtual Machine Monitor (VMM), asigna los recursos del sistema. De este modo, pueden eje­cu­tar­se varias y di­fe­re­n­tes máquinas virtuales en un mismo sistema host, ya que el hi­pe­r­vi­sor garantiza que no in­te­r­fie­ran entre sí y que todas dispongan de la capacidad necesaria.

En resumen, el hi­pe­r­vi­sor crea una capa de ab­s­tra­c­ción entre el hardware y los sistemas ope­ra­ti­vos que se ejecutan sobre él. Esto se logra di­vi­die­n­do los recursos de hardware en unidades lógicas y asignando a cada VM un entorno propio. Así, las máquinas virtuales tienen la sensación de eje­cu­tar­se di­re­c­ta­me­n­te sobre hardware real, aunque en realidad estén co­m­pa­r­tie­n­do los recursos con otras VM.

Nota

La estricta se­pa­ra­ción entre las distintas máquinas virtuales no solo garantiza una buena di­s­tri­bu­ción de los recursos, sino que también aumenta la seguridad. Gracias al hi­pe­r­vi­sor, se asegura que un sistema invitado no pueda acceder a los archivos de otro. Esto resulta es­pe­cia­l­me­n­te im­po­r­ta­n­te en entornos de prueba, ya que así un programa de­fe­c­tuo­so no puede dañar otras máquinas virtuales de test.

Gestión de memoria

En la vi­r­tua­li­za­ción de la CPU, el hi­pe­r­vi­sor utiliza técnicas como la división temporal (time-slicing) para repartir la capacidad de cálculo de forma equi­ta­ti­va entre las máquinas virtuales (VM). Los pro­ce­sa­do­res modernos incluyen funciones es­pe­cí­fi­cas de vi­r­tua­li­za­ción (por ejemplo, Intel VT-x o AMD-V) que ayudan al hi­pe­r­vi­sor y reducen la so­bre­ca­r­ga.

La gestión de la memoria RAM se realiza mediante técnicas de pa­gi­na­ción (paging) y mapeo (mapping). El hi­pe­r­vi­sor asigna di­re­c­cio­nes de memoria virtual a bloques de memoria física, de manera que cada VM solo puede acceder a su propio espacio de memoria.

Cuando la memoria escasea, puede emplear me­ca­ni­s­mos como la so­bre­su­s­cri­p­ción de memoria (memory ove­r­co­m­mi­t­me­nt) o el inflado de memoria (memory ba­lloo­ni­ng) para di­s­tri­buir los recursos de forma más eficiente entre las VM.

Gestión de E/S y de di­s­po­si­ti­vos

Las máquinas virtuales acceden a di­s­po­si­ti­vos de hardware como discos duros, tarjetas de red o tarjetas gráficas a través de in­te­r­fa­ces virtuales. El hi­pe­r­vi­sor emula estos di­s­po­si­ti­vos o bien redirige las so­li­ci­tu­des di­re­c­ta­me­n­te al hardware físico mediante técnicas de E/S directa (Direct I/O) o paso directo (pass-through). Esto garantiza un equi­li­brio entre co­m­pa­ti­bi­li­dad y re­n­di­mie­n­to.

Ai­s­la­mie­n­to y seguridad

Una de las pri­n­ci­pa­les ventajas de la vi­r­tua­li­za­ción es el ai­s­la­mie­n­to entre las máquinas virtuales (VM). Cada VM se ejecuta en su propio entorno, de modo que los errores o ataques en una no tienen efectos directos sobre otras máquinas virtuales ni sobre el sistema host. El hi­pe­r­vi­sor aplica distintos me­ca­ni­s­mos de seguridad para ga­ra­n­ti­zar esta se­pa­ra­ción estricta, entre ellos la pro­te­c­ción de memoria, los controles de acceso y las técnicas de ai­s­la­mie­n­to en entornos de prueba (sa­n­d­bo­xi­ng).

Consejo

Si también quieres utilizar una máquina virtual, dispones de varias opciones de software de vi­r­tua­li­za­ción. Para usuarios pa­r­ti­cu­la­res, so­lu­cio­nes como Vi­r­tua­l­Box o Hyper-V, la pla­ta­fo­r­ma de vi­r­tua­li­za­ción de Microsoft, son una buena elección. En el caso de grandes empresas, resultan es­pe­cia­l­me­n­te adecuadas las suites como la de VMware Broadcom.

Di­fe­re­n­tes tipos de monitores de máquinas virtuales

Se di­s­ti­n­guen dos tipos de monitores de máquinas virtuales (VMM): hi­pe­r­vi­so­res de tipo 1 y tipo 2. Cada uno ofrece ventajas muy es­pe­cí­fi­cas. El primero de ellos es también el más antiguo: ya en la década de 1960 se rea­li­za­ron los primeros intentos de vi­r­tua­li­za­ción con esta te­c­no­lo­gía.

Hi­pe­r­vi­sor de tipo 1

El primer tipo se conoce como hi­pe­r­vi­sor nativo (en inglés, native hy­pe­r­vi­sor) o bare metal hy­pe­r­vi­sor. Esta forma de VMM se instala di­re­c­ta­me­n­te en el hardware físico y no está conectada con el sistema operativo del host. Por lo tanto, este hi­pe­r­vi­sor también debe contener todos los co­n­tro­la­do­res de di­s­po­si­ti­vos. El consumo de recursos del hi­pe­r­vi­sor de tipo 1 es co­m­pa­ra­ti­va­me­n­te reducido, porque los procesos in­fo­r­má­ti­cos no se ejecutan a través del sistema operativo del host. Esta forma de hi­pe­r­vi­sor es es­pe­cia­l­me­n­te adecuada para los usuarios que deseen co­n­fi­gu­rar un servidor dedicado a la vi­r­tua­li­za­ción. Para proyectos pequeños en entornos do­mé­s­ti­cos no tendría sentido utilizar un hi­pe­r­vi­sor de tipo 1, puesto que sería demasiado complejo.

Imagen: Esquema del funcionamiento del hipervisor de tipo 1
El hi­pe­r­vi­sor de tipo 1 se instala di­re­c­ta­me­n­te en el hardware.

Hi­pe­r­vi­sor de tipo 2

El segundo tipo (también conocido como hosted hy­pe­r­vi­sor) requiere un sistema operativo existente, que a su vez se base en el hardware físico. Los hi­pe­r­vi­so­res de tipo 2 se instalan como cualquier otro programa. A co­n­ti­nua­ción, el VMM gestiona la vi­r­tua­li­za­ción. En este caso, no es necesario que los co­n­tro­la­do­res de di­s­po­si­ti­vos estén in­s­ta­la­dos en el hi­pe­r­vi­sor , ya que el propio sistema operativo se encarga de tra­n­s­fe­ri­r­los al software. Sin embargo, esta comodidad reduce el re­n­di­mie­n­to, porque gran parte de los recursos se invierten en el sistema operativo del host. En cualquier caso, gracias a la sencillez del proceso de in­s­ta­la­ción y co­n­fi­gu­ra­ción, los hi­pe­r­vi­so­res de tipo 2 son perfectos para proyectos más pequeños.

Imagen: Esquema del funcionamiento del hipervisor de tipo 2
El hi­pe­r­vi­sor de tipo 2 se instala en un sistema operativo existente.
Ir al menú principal