
Estoy tratando de comprender qué tipos de virtualización existen y, para ayudarme en esta tarea, encontré un libro de Dijiang Huang y Huijun Wu, Mobile Cloud Computing.
Los pasajes publicados a continuación también están disponibles en Google Books:https://books.google.com/books?id=dupGDgAAQBAJ.
De la sección 2.2.3, tabla 2.2, página 42:
HAL (completo)
- Descripción:Un hipervisor proporciona una máquina virtual completa (de la misma arquitectura informática que el host) que permite que los invitados no modificados se ejecuten de forma aislada.
- Ventajas:Flexibilidad para ejecutar diferentes versiones de diferentes sistemas operativos de múltiples proveedores.
- Desventajas:El sistema operativo invitado no sabe que se está virtualizando; puede incurrir en un impacto considerable en el rendimiento del hardware básico, particularmente para aplicaciones intensivas de E/S.
HAL (paralelo)
- Descripción:Un hipervisor proporciona una máquina virtual completa pero especializada (de la misma arquitectura informática que el host) a cada invitado, lo que permite que los invitados modificados se ejecuten de forma aislada.
- Ventajas:Ligero y rápido, cercano a las velocidades nativas; demostrado funcionar en el rango de gastos generales de 0,5 a 3,0 %; permite que el sistema operativo coopere con un hipervisor; mejora la IO y la programación de recursos; permite virtualizar arquitecturas que no soportan la virtualización completa.
- Desventajas:Requiere portar el sistema operativo invitado para utilizar hiperllamadas en lugar de instrucciones confidenciales. La principal limitación de la virtualización paralela es que el sistema operativo invitado debe adaptarse específicamente para ejecutarse sobre el monitor VM (VMM), el programa anfitrión que admite múltiples entornos de ejecución idénticos. Esto afecta especialmente a los sistemas operativos heredados de código cerrado que aún no han implementado extensiones virtualizadas paralelas.
Aquí la "virtualización paralela" aparece como sinónimo de "paravirtualización". (Nunca escuché el término "virtualización paralela" antes de leer el libro. El término "paravirtualización", por otro lado, es bien conocido en Internet).
Sin embargo, en la sección 2.2.2, página 39, el libro parece contradecir el pasaje anterior:
En la tercera clasificación de virtualización presentada en la Sección 2.2.3, presentaremos dos de las soluciones de virtualización basadas en HAL más populares, es decir, la virtualización paralela (o virtualización bare-metal o tipo 1) y la virtualización basada en host (o virtualización tipo 1). -2 virtualización), en detalle.
Es decir, para resumir:
- Sección 2.2.3: La virtualización paralela es lo mismo que la paravirtualización.
- Sección 2.2.2: La virtualización paralela es lo mismo que la virtualización básica (también conocida como Tipo 1).
- Sin embargo, como sé, la paravirtualización y la virtualización bare-metal (también conocida como Tipo-1) son dos cosas diferentes. No es lo mismo.
Preguntas:
- ¿Es cierto que el segundo pasaje contradice el primero?
- ¿Es cierto que la paravirtualización y la virtualización bare-metal (también conocida como Tipo-1) son dos cosas diferentes?
- ¿Está de acuerdo en que el pasaje de la página 42 es correcto y el pasaje de la página 39 es correcto?no¿correcto? ¿Cómo explicarías el pasaje de la página 39?
Respuesta1
¿Es cierto que la paravirtualización y la virtualización bare-metal (también conocida como Tipo-1) son dos cosas diferentes?
La optimización de las capas de abstracción de los invitados es una dimensión diferente a la de si el hipervisor está encima de un sistema operativo de propósito general.
QEMU es un emulador. Agregue KVM y la aceleración de hardware reducirá la sobrecarga al mínimo, convirtiéndolo efectivamente en tipo 1. Además, KVM tiene controladores invitados paravirtualizados. Sin embargo, tanto QEMU como KVM se ejecutan en sistemas operativos de propósito general; puede ejecutar aplicaciones arbitrarias en sus hosts virtuales.
Hiper-Vejecuta acceso directo al hardware a través de una partición raíz privilegiada que ejecuta Windows. Suena como tipo 2. Sin embargo, las capas entre los invitados y el hardware son mínimas, no se pueden ejecutar procesos de usuario fuera de las particiones Hyper-V.
Puede resultar útil dibujar un diagrama de las capas de abstracción. Las implementaciones no se clasifican tan claramente en categorías binarias como sugiere el tipo 1 versus el tipo 2. Estas categorías no miden necesariamente consideraciones prácticas como los gastos generales en comparación con el metal básico, o la seguridad y capacidad de servicio de un hipervisor, con suerte, simple.
El uso temprano del término paravirtualización aparece en elDocumento de Denali de la Universidad de Washington. Al menos unpapel xencita a Denali como quien acuñó el término. No encuentro evidencia de su origen en "paralelo". Posiblemente, pretendía invocar los significados "al lado" y "ayudando" del prefijo para-.