Tipos de hipervisor

Ya hemos hablado en entradas anteriores del concepto de virtualización. En entornos industriales cada vez es más frecuente la utilización de la virtualización del hardware, es decir, la utilización de máquinas virtuales. Estas máquinas se basan siempre en un hipervisor, o monitor de máquina virtual, que hace de intermediario entre el hardware de la máquina host y el sistema operativo invitado (guest) instalado sobre la máquina virtual. Es decir, que permita el acceso de este sistema operativo guest al procesador, la memoria, el almacenamiento y la red reales.

Existen dos tipos diferentes de hipervisores:
  • Tipo I (unhosted, bare metal o nativo): Se instala directamente sobre el hardware de la máquina host, sin necesidad de que ésta incorpore un sistema operativo. De esta manera, el sistema operativo guest pasa directamente del hipervisor al hardware físico.
  • Tipo II (hosted): Necesita que la máquina host lleve instalado un sistema operativo, de manera que el sistema operativo guest tiene que pasar por el hipervisor y por él antes de llegar al hardware físico.
Al primer tipo corresponden hipervisores como VMware ESX (versiones gratuitas y de pago), Xen (gratuito y tremendamente extendido en entornos Cloud) ó Microsoft HyperV (de pago) Al segundo tipo corresponden QEMU (gratuito y muy utilizado con fines didácticos por su sencillez), Oracle VirtualBox (gratuito),  VMware Workstation (de pago) ó Microsoft Virtual PC y Virtual Server (ambos gratuitos).

En teoría la utilización de hipervisores de Tipo I permite obtener configuraciones con un rendimiento mayor (al reducir las capas intermedias entre el sistema operativo guest y el hardware real) y de una mayor robustez (por no depender de un sistema operativo host). Pero en la mayor parte de los casos se opta por los hipervisores de tipo II dada su facilidad de instalación y configuración y sus garantías de acceso al hardware físico (a través del sistema operativo host).

En los últimos años se habla también de paravirtualización o full-virtualization, que son términos que se refieren al soporte hardware que los fabricantes de procesadores están proporcionando a las técnicas de virtualización. En estos casos lo que se persigue es que la traducción que el hipervisor hace habitualmente de las llamadas del sistema operativo guest al hardware y de las respuestas de este harwdare, se pueda realizar parcial o totalmente desde el propio hardware (por lo tanto, de una manera mucho más eficiente). En futuras entradas hablaremos de las tecnologías AMD-V e Intel VT-x que los dos grandes fabricantes de procesadores han propuesto para facilitar la virtualización de sus arquitecturas x86.

No hay comentarios: