Emulación del hardware subyacente (ejecución nativa)
Esta técnica se suele llamar virtualización completa (full virtualization) del hardware, y se puede implementar usando un hypervisor de Tipo 1 o de Tipo 2:
- el tipo 1 se ejecuta directamente sobre el hardware
- el tipo 2 se ejecuta sobre otro sistema operativo.
Cada máquina virtual puede ejecutar cualquier sistema operativo soportado por el hardware subyacente. Así los usuarios pueden ejecutar dos o más sistemas operativos distintos simultáneamente en computadoras "privadas" virtuales.
El sistema pionero que utilizó este concepto fue la CP-40, la primera versión (1967) de la CP/CMS de IBM (1967-1972) y el precursor de la familia VM de IBM (de 1972 en adelante). Con la arquitectura VM, la mayor parte de usuarios controlan un sistema operativo monousuario relativamente simple llamado CMS que se ejecuta en la máquina virtual VM.
Actualmente tanto Intel como AMD han introducido prestaciones a sus procesadores x86 para permitir la virtualización de hardware.
Emulación de un sistema no nativo
Las máquinas virtuales también pueden actuar como emuladores de hardware, permitiendo que aplicaciones y sistemas operativos concebidos para otras arquitecturas de procesador se puedan ejecutar sobre un hardware que en teoría no soportan.
Algunas máquinas virtuales emulan hardware que solo existe como una especificación. Por ejemplo:
La máquina virtual P-Code que permitía a los programadores de Pascal crear aplicaciones que se ejecutasen sobre cualquier computadora con esta máquina virtual correctamente instalada.
La máquina virtual de Java. La máquina virtual del entorno .NET. Open Firmware
Esta técnica permite que cualquier computadora pueda ejecutar software escrito para la máquina virtual. Solo la máquina virtual en sí misma debe ser portada a cada una de las plataformas de hardware.
Virtualización a nivel de sistema operativo
Esta técnica consiste en dividir una computadora en varios compartimentos independientes de manera que en cada compartimento podamos instalar un servidor. A estos compartimentos se los llama "entornos virtuales". Desde el punto de vista del usuario, el sistema en su conjunto actúa como si realmente existiesen varios servidores ejecutándose en varias máquinas distintas. Dos ejemplos son las zonas de Solaris (Solaris Zones) y la técnica de Micro Partioning de AIX.
INCONVENIENTES DE LAS MAQUINAS VIRTUALES
Uno de los inconvenientes de las máquinas virtuales es que agregan gran complejidad al sistema en tiempo de ejecución. Esto tiene como efecto la ralentización del sistema, es decir, el programa no alcanzará la misma velocidad de ejecución que si se instalase directamente en el sistema operativo "anfitrión" (host) o directamente sobre la plataforma de hardware. Sin embargo, a menudo la flexibilidad que ofrecen compensa esta pérdida de eficiencia.

No hay comentarios:
Publicar un comentario