Hay dos tipos de virtualización de memoria: la basada en software y la asistida por hardware.

Debido al nivel extra de asignación de memoria introducido por la virtualización, ESXi puede administrar la memoria de forma efectiva en todas las máquinas virtuales. Parte de la memoria física de una máquina virtual podría asignarse a las páginas compartidas o a las páginas sin asignar, o bien intercambiarse.

Un host administra la memoria virtual sin conocer el sistema operativo invitado y sin interferir con el subsistema de administración de memoria del sistema operativo invitado.

El VMM de cada máquina virtual mantiene una asignación desde las páginas de memoria física del sistema operativo invitado hacia las páginas de memoria física en la máquina subyacente. VMware se refiere a las páginas físicas del host subyacente como páginas de la “máquina” y a las páginas físicas del sistema operativo invitado como páginas “físicas”.

Cada máquina virtual ve un espacio de memoria física contigua, de base cero y direccionable. La memoria de la máquina subyacente en el servidor que cada máquina virtual utiliza no es necesariamente contigua.

Tanto en la virtualización de memoria basada en software como en la asistida por hardware, el sistema operativo invitado administra las direcciones virtuales a físicas del invitado. El hipervisor solo es responsable de traducir las direcciones físicas del invitado a direcciones de la máquina. La virtualización de memoria basada en software combina en el software las direcciones virtuales del invitado a direcciones de la máquina, y las guarda en las tablas de páginas de sombra que administra el hipervisor. La virtualización de memoria asistida por hardware utiliza la funcionalidad de hardware para generar las asignaciones combinadas con las tablas de páginas del invitado y las tablas de páginas anidadas que mantiene el hipervisor.

El diagrama muestra la implementación de ESXi de la virtualización de memoria.

Figura 1. Asignar memoria de ESXi


Esta imagen muestra la implementación de la virtualización de memoria.

  • Los cuadros representan las páginas y las flechas muestran las diferentes asignaciones de memoria.

  • Las flechas de la memoria virtual del invitado a la memoria física del invitado muestran la asignación que mantienen las tablas de páginas en el sistema operativo invitado. No se muestra la asignación de memoria virtual a memoria lineal para procesadores de arquitectura x86.

  • Las flechas que van de la memoria física del invitado a la memoria de la máquina muestran la asignación que mantiene VMM.

  • Las flechas discontinuas muestran la asignación de memoria virtual invitada a memoria de la máquina en las tablas de páginas de sombra que también mantiene el VMM. El procesador subyacente que ejecuta la máquina virtual utiliza las asignaciones de tablas de páginas de sombra.