¿Qué es la paravirtualización?

La paravirtualización es un método que permite que el software que se ejecuta en un sistema virtual omita la interfaz virtual y ejecute operaciones en el hardware real del sistema. En un sistema virtual estándar, el único programa que utiliza el hardware real del sistema es la interfaz virtual. El resto del software se ejecuta totalmente dentro del entorno virtual. Con la paravirtualización, hay formas en que el software incluido puede acceder a recursos reales en lugar de virtuales. Esto acelera ciertas funciones sin sacrificar la potencia informática.

Los entornos informáticos virtuales se han vuelto mucho más comunes en el siglo XXI. Utilizando sistemas virtuales básicos, un solo sistema de hardware puede realizar las operaciones de varios sin una pérdida de potencia informática. Además, los servidores virtuales redundantes permiten que una sola máquina se desconecte para su reemplazo o reparación sin afectar a los usuarios del sistema.

En la mayoría de los sistemas virtuales, una máquina real tiene un programa instalado que funciona como interfaz virtual para el resto de las operaciones. Esta interfaz, a menudo denominada hipervisor, suele ser inaccesible para los usuarios del sistema virtual; solo las personas con acceso real al hardware pueden acceder a él. Cuando los usuarios virtuales tienen acceso al hipervisor, a menudo están muy limitados en lo que pueden hacer al sistema.

El hipervisor es esencialmente el centro del sistema virtual. Supervisa el software virtual instalado y proporciona una plataforma para usuarios virtuales. Cuando los programas del sistema virtual necesitan acceso al hardware, el hipervisor tomará la información y la procesará él mismo o la formateará y la enviará al sistema subyacente.

En un sistema que usa paravirtualización, un programa virtual tiene la opción de omitir el sistema operativo virtual y operar directamente con el hardware del sistema cuando necesita acceso al hardware. Algunas operaciones son muy difíciles de realizar para el sistema virtual. Cuando un programa virtual necesita realizar una de estas tareas, el programa necesita menos recursos para omitir la capa virtual e ir directamente al sistema de hardware. La paravirtualización todavía se realiza con moderación, ya que demasiadas llamadas directas de hardware pueden sobrecargar el sistema.

Para utilizar la paravirtualización, tanto el sistema real como el virtual necesitan ciertas preparaciones. El factor más importante es el propio software de paravirtualización; solo los sistemas operativos e hipervisores con capacidad de paravirtualización pueden realizar estas funciones. Si bien estos a menudo se excluyen de una instalación estándar, la mayoría de las empresas de software de servidor tienen complementos disponibles que darán a sus productos las capacidades correctas.
El segundo punto de compatibilidad está en el hardware subyacente. Usando una interfaz virtual, es posible hacer que casi cualquier sistema operativo se ejecute en casi cualquier sistema de hardware. Para que la paravirtualización funcione, el hardware subyacente debe ser algo que los programas virtuales sepan cómo acceder. Si el hardware es muy ajeno al sistema, las llamadas de hardware de paravirtualización fallarán.