¿Que es un Hipervisor?

La Virtualización  (ver aqui)

La virtualización consiste en alojar sistemas operativos fuera de su harware. Para ello se necesita un software que emule un hardware sobre el que se alojará el sistema operativo. Al software que realiza tal operación se le denomina hypervisor y se ejecuta en una máquina host o anfitrión, El software virtualizado se denomina maquina virtual o sistema operativo invitado.

virtualizacion

Los Hipervisores

Históricamente IBM llamaba al sistema operativo «supervisor» ya que en realidad era básicamente un kernel que supervisaba el hardware. Así que las técnicas de virtualización de hardware a adoptado la palabra «hipervisor» o hypervisor para referirse a esta nueva forma de «kernel».

El hipervisor es el elemento del sistema operativo o de software que administra y hace que funcionen las maquinas virtuales sobre un hardware virtual. El Hipervisor, (algunos lo llaman VMM “motor de máquina virtual”, pero por no confundir con el Virtual Machine manager, no lo nombraré de tal forma) Tiene varias tarea, por un lado presentan a los sistemas virtualizados, también proveen de un Hardware virtual a las VM y de monitorizar a estas máquinas.
Por resumir hay dos tipos de hipervisores: los Nativos o unhosted, los llamado «de tipo 1»  y los alojados,  «de tipo 2» que necesitan de un Sistema operativo para su ejecución. Abría una tercera clase denominada híbrida con características de estas dos tecnologías.

  • Hipervisores Nativos, el hipervisor se ejecuta directamente sobre el hardware o máquina Host (bare-metal) y es el que se encarga de controlar todos los accesos al hardware. Aunque es la tecnologia mas antigua, tambien es la que utilizan las soluciones de virtualización mas potentes: Hyper-V, Citrix Xen y VMWare ESX-Server.

hypervisor_1

  • Hipervisor alojado, en este tipo de hipervisores (hosted), el hipervisor es un programa que se ejecuta sobre un Sistema Operativo como Windows, Linus, OSX, y sobre el hipervisor se cargan las diferentes máquinas virtuales. Ejemplos claros y puros serian las máquinas virtuales Java o .Net.

hipervisor_2

  • Un último grupo mezcla de los anteriores son los hipervisores híbridos en los que Sistema operativo, host e hipervisor compiten por el hardware. Estas serian Virtual Server de Microsoft, Virtual Box de Oracle.

hypervisor_3

Diferencias entre Hyper-V y VMWare ESX

En realidad hay mas de las que aparentan, en realidad se basan en soluciones diferentes de Virtualización Nativa, Virtualización Monolítica y virtualización de Microkernel

 

vmware-logo

La Virtualización Monolítica es complicada, ya que cuando una VM hace una llamada al Hardware, el hardware virtualizado redirige la llamada a drivers en el hipervisor, el cual enruta esa llamada al recurso real. Así es como opera VMWare, el cual utiliza mucho código para conseguir esto.

 

Windows-Server-Hyper-V

La virtualización con microkernel es mas sencilla puesto que las máquina virtuales no necesitan de drivers específicos sino que acceden directamente al hardware con los mismos drivers que usa el hypervisor, asi el hypervisor aparece como una capa transparente dedicada a separar y administrar las diferentes maquinas virtuales. Hyper-V trabaja de esta manera siendo así mas estable y con un rendimiento mas alto.