¿Cuáles son los principios fundamentales detrás de ejecutar una máquina virtual de manera eficiente?

La “Magia” ocurre a través de un hipervisor, consulte http://www.petitecloud.org/virtI… para obtener una buena descripción general. Una vez que se crea la ilusión de virtualización, puede superponer otras cosas como la computación en la nube http://www.petitecloud.org/layer….

La forma en que funciona un hipervisor es permitiendo que múltiples sistemas operativos (pero todos construidos para el mismo hardware) se ejecuten “particionados” con un procesador multinúcleo (puede ser de un solo núcleo pero demasiado lento para la mayoría de los usos) en máquinas virtuales virtualizadas por hardware administradas por hipervisores que sumen QEMU , Oracle VM VirtualBox y bhyve – BSD Hypervisor. Dado que las “máquinas” utilizan vías de control completamente diferentes en la placa base, es posible ejecutarlas dentro de la ilusión de virtualización (este es realmente el núcleo de la ilusión).

La virtualización se relaciona con la computación en la nube ya que es el componente crítico de los sistemas de susch, consulte http://www.petitecloud.org/info.jsp

El punto es que mientras la VM esté ejecutando código que no sea privilegiado, o esté accediendo a controladores de dispositivos virtuales, el código se ejecutará a toda velocidad: un programa que simplemente hace muchos cálculos, por ejemplo, se ejecutará casi tan rápido como el nativo.

Si el programa llama a cualquier código que ejecute una instrucción privilegiada, está esencialmente en pausa, y el hipervisor emula lo que habría hecho, muy lentamente.

Los diversos controladores de VM invitados mitigan mucho la ralentización, evitando las instrucciones del modo kernel y hablando directamente con el hipervisor