Interfaz de Hiperllamada de VMware

VMware Hypervisor

El hipervisor proporciona la abstracción de virtualización de los sistemas computacionales que se encuentran por debajo del mismo. De manera similar a la forma en que la llamada de un sistema permite a un programa usuario comunicarse con el sistema operativo subyacente, una hiperllamada permite que el sistema operativo albergado se comunique con el hipervisor.

Como nominalmente se requiere cambiar el funcionamiento del sistema albergado para usar estas hiperllamadas, este enfoque se desvía del principio de la virtualización plena que no requiere realizar ningún cambio en el sistema operativo albergado. La interfaz que propone VMware tiene en cuenta las dificultades potenciales de desarrollo y mantenimiento del sistema operativo que una desviación de este tipo puede causar.

Un sistema operativo albergado que ha sido modificado para usar hiperllamadas se denomina albergado paravirtualizado.

La interfaz del hipervisor se basa en muy pocos principios clave:

  • El sistema operativo paravirtualizado debe funcionar correctamente en el procesador nativo y en múltiples versiones del hipervisor sin necesidad de recompilar el sistema operativo.

    Esto es de enorme importancia para los clientes y proveedores de sistemas operativos, quienes de otra manera necesitarían administrar dos sistemas operativos diferentes, uno que se ejecute en el hardware nativo y otro para el hipervisor. Contar con distintas versiones también es importante, ya que permite a los proveedores del hipervisor ofrecer reparaciones de errores oportunas o mejoras de performance.
  • El sistema operativo paravirtualizado debe tener la misma apariencia y funcionalidad que el sistema operativo original.

    Esto es importante para sistemas operativos tales como Linux, que presenta una saludable tendencia a los cambios. Una API de un hipervisor debe evitar metáforas que son contrarias a las que usaría un desarrollador de sistemas operativos. La presencia de estos “elementos del hipervisor” en el sistema operativo de origen puede convertirse en un gran problema para su mantenimiento. Mantener los mismos “elementos” también significa que los cambios al sistema operativo deben ser mínimos.

    Lea más acerca de la Interfaz de Máquina Virtual (VMI, Virtual Machine Interface).

Actualmente, VMware divide las llamadas del hipervisor en dos partes:

  • Cuando el sistema albergado se ejecuta en un procesador que tiene baja capacidad de proceso, no podrá ejecutar el conjunto usual de operaciones requeridas sin causar que el procesador falle. En su lugar, una clase de hiperllamadas permiten a los sistemas operativos albergados paravirtualizados indicar su intención al hipervisor. Este conjunto también representa una clase de instrucciones en el procesador x86 que no se convierten fácilmente a un entorno virtual.
  • Una interfaz para tranferir información acerca de la administración de memoria realizada en el sistema operativo albergado.

En el futuro ampliaremos esta interfaz para que incluya otras capacidades. Todas estas interfaces formarán parte de las Interfaces del Hipervisor de Máquina Virtual (VMHI).