domingo, 19 de abril de 2009

¿Qué es una Máquina Virtual?Matrix(II)

Esta entrada es la continuación de: ¿Qué es una Máquina Virtual?La TARTA(I)

Empezamos a entrar en materia.VirtualBox lo que hace primero es preguntarnos si queremos crear una "máquina virtual" nueva.Nosotros le decimos que sí,y nos pregunta el tamaño que le queremos asignar.

NOTA:Fijaos que usamos indistintamente la palabra "maquina virtual" para referirnos al programa VirtualBox(que deberíamos llamar "virtualizador") y a la "maquina virtual" propiamente dicho y que explicaremos a continuacion.



Volvemos a lo del "tamaño" que queremos asignar.¿Que significa eso?Pues significa que VBox(o cualquier otra máquina virtual) acapara ese "tamaño" de DISCO DURO y NO permite que tu SistemaOperativo lo use. Y solo lo podrá usar la "maquina virtual" para instalar en ella un Sistema Operativo (al que se le denomina como Invitado/GUEST). Gracias a este "encapsulamiento", cualquier desgracia ocurrida dentro de la máquina virtual no afecta al verdadero Sistema Operativo (conocido como Anfitrión o HOST OS).



Puedes instalar todas las máquinas virtuales que desees,y ejecutar al mismo tiempo todas las máquinas virtuales que tu Hardware REAL sea capaz de aguantar(como se ve en la imagen:OS1,OS2,OS3),podemos tener corriendo 14 versiones de ReactOS y 1 Ubuntu/XP al mismo tiempo. Resumiendo, estamos ejecutando un Sistema Operativo Completo como si de una aplicación se tratara.

¿Y que hace internamente la máquina virtual? La máquina virtual recrea un hardware irreal,un mundo virtual, un mundo al estilo Matrix. Mediante software crea DENTRO del encapsulamiento la sensación de tener un hardware que realmente no existe,y sobre el que nosotros instalamos el Sistema Operativo Invitado. Y lo mejor: el Sistema Operativo Invitado  se lo cree y se comporta IDÉNTICAMENTE igual a si instaláramos el Sistema Operativo Invitado sobre ese Hardware Real. ¿Me estás diciendo que por Software la Máquina Virtual es capaz de recrear un hardware?SI.

Y esto es una ventaja enorme, ya que  conocemos TODAS las características de Hardware que está emulando.  Además todos los Desarrolladores usarán las MISMAS características de Hardware, lo que permite confirmar Bugs de manera sencilla. De esta manera se evitan BUGS debidos a distintas configuraciones de Hardware,o peor, BUGS debidos a un problema de Hardware(una patilla rota) y no de ReactOS.Además de la comodidad de poder tener el compilador y las herramientas de Desarrollo en el Sistema Operativo Anfitrión y el Sistema Operativo en Desarrollo abiertos al mismo tiempo en el mismo ordenador y sin necesidad de reseteo.

Pero además hay una ventaja extra, estos Virtualizadores permiten variar algunos de sus componentes. Es decir, puedes crear una máquina virtual con tarjeta de sonido Soundblaster y otra máquina virtual con tarjeta de sonido AC97. Y todo,simplemente con un click. Gracias a que toda la emulación se hace por software. En un hardware real tendrías que estar intercambiando las tarjetas de sonido,con el engorro que ello trae.

¿Entonces cuales son las pegas?


Lógicamente una máquina virtual no es la panacea. Por un lado está supeditada a las características de Hardware Real de tu máquina. Así pues de poco te vale configurar a tu máquina virtual para que use 2GB de Ram, si no los tienes en tu PC real.Ni obtendrás sonido alguno por emular una soundblaster si tu PC de hardware real no dispone al menos de audio integrado.

Por otro lado un Sistema Operativo en una máquina virtual no es tan rápido como instalado directamente sobre un Hardware Real. Cada capa extra en un Sistema Operativo hace que el Sistema Operativo sea en general más lento (sirve como aproximación),en este caso estamos ejecutando  una Tarta Emulada encima de la Tarta Real. Esto provoca un empacho  y el Sistema Operativo Virtualizado es más lento.

Por lo tanto y resumiendo:

-Cuando encuentres un Bug de ReactOS instalado en Máquina Virtual, las características del Hardware Real no son necesarias, sólo necesitamos saber que Máquina Virtual has usado.Ya que ReactOS en máquina virtual solo interactúa con las características de hardware que emula la Máquina Virtual.

-Instalar un Sistema Operativo en una Máquina Virtual es una manera muy segura de probar un Sistema Operativo gracias al "Encapsulamiento".

-Instalar un Sistema Operativo en una Maquina Virtual,permite ejecutar un SO como si fuera una aplicación,lo que redunda en un peor rendimiento del Sistema Operativo virtualizado(comparado con una instalación directa sobre hardware)

-Instalar un Sistema Operativo sobre Máquina Virtual evita tener un arranque compartido, lo cual es una seguridad extra añadida.

-Instalar un Sistema Operativo sobre Máquina Virtual permite modificar de manera sencilla las características del Hardware virtualizado, y permite compartir Archivos entre los dos Sistemas Operativos.

0 comentarios:

Publicar un comentario