RESUMEN

se puede decir que el concepto de maquina virtual es un resultado de la multiprogramación surgida en1959 e implementada por el profesor Christopher Strachey de la universidad de de Oxford. (La multiprogramación permite a un programador escribir el código fuente de un programa mientras otro programador compila otro programa, con el fin de aprovechar mejor los costosos recursos computacionales) esto da paso a el desarrollo de sistemas de tiempo compartido CTSS a principios de los sesenta por un grupo de M.I.T (Compatible Time-Sharing System) que rea un ambiente muy interactivo en el cual el computador da respuestas rápidas a un gran número de peticiones relativamente triviales. Finalmente y después de originados los progresos anteriores, se empieza el desarrollo en el Centro Científico de Cambridge de IBM, liderado por Robert Creasy (ex miembro de 'Project MAC'), del CP-40 y el CMS ('Cambridge Monitor System'). El CP-40 es el primer sistema operativo que implementa 'full virtualization', que permite emular simultáneamente hasta 14 'pseudo machines' (múltiples instancias del CMS), más tarde llamadas máquinas virtuales.

Finalmente y después de muchos otros desarrollos e investigaciones IBM anuncia El 'TS/360' implementa 'virtual memory' y 'virtual machines' y que es reemplazo en 1972 por el primer sistema operativo de máquina virtual de la familia VM (VM/CMS), el 'VM/370' (basado en 'CP-370/CMS') y destinado para 'System/370' con hardware de memoria virtual. El 'VM/370' se basa en dos componentes; CP ('Control Program') y CMS (ahora llamado 'Conversational Monitor System'). CP proporciona ambiente de sistemas separados que ofrecen a cada usuario acceso total a una maquina completa. CMS funciona en una maquina virtual creada por CP como sistema interactivo monousuario. La función más importante del nuevo CP es la habilidad de ejecutar una VM dentro de otra VM.

En las configuraciones de maquinas virtuales existe un sistema operativo “anfitrión” que ejecuta el programa de emulación o virtualización. Este programa se encarga de crear “máquinas virtuales”, cada una con sus propias características (memoria RAM, disco duro, procesador, dispositivos, etc.) que pueden ejecutar su propio sistema operativo (”huésped”) y programas. Se pueden encontrar varios tipos de máquinas virtuales:
 * DEFINICION: ** Una maquina virtual es una computadora abstracta, una computadora o maquina emulada a partir de software haciendo ver este como una maquina real.
 * // Máquinas virtuales software //**** : ** este tipo de máquinas virtuales se sitúan por encima del sistema operativo y tratan de aislar a las aplicaciones del entorno sobre el que se ejecutan. Permite ejecutar varias máquinas virtuales con distintos sistemas operativos sobre el mismo hardware de manera simultánea.
 * // Entornos virtuales //**** : ** este tipo de máquinas se crean para ejecutar directamente aplicaciones que necesitan un entorno determinado de ejecución sobre otro entorno totalmente diferente.
 * // Maquinas virtuales hardware //**** : ** este tipo de aplicaciones tratan de emular directamente el hardware. Las llamadas al hardware del sistema operativo instalado serán capturadas y convertidas en llamadas al sistema del hardware emulado.es concepto es llamado virtualizaciòn y le da la impresión al usuario de trabajar sobre una maquina independiente.

Tiene como capa inferior el **hardware o máquina desnuda**, sobre el cual se ejecuta el kernel; las operaciones disponibles en este nivel son las instrucciones de máquina. Sobre el hardware se encuentra el sistema generador de máquinas virtuales (**SGMV**) que es el encargado de multiprogramar múltiples máquinas virtuales sobre una máquina física. Sobre el **SGMV** se encuentra entonces el sistema operativo de cada una de las máquinas virtuales que es el encargado de realizar todas sus funciones, incluyendo administración del almacenamiento, construcción del itinerario del procesador, control de entrada/salida, protección de los usuarios, multiprogramación, etc. EL **CMS** (Sistema de Control Conversacional) es uno de los sistemas operativos usado por las máquinas virtuales, es un sistema de aplicaciones con características poderosas para el desarrollo interactivo de programas. Contiene editores, traductores de lenguajes, varios paquetes de aplicación y herramientas de depuración. Por último, sobre cada máquina virtual se ejecutan los **programas y las aplicaciones de los usuarios.** Las más conocidas son las siguientes: · Bochs: un emulador de procesadores x86 y AMD64 con licencia de software abierto. Bochs puede ejecutarse en distintos sistemas operativos, incluyendo Linux, Windows o incluso la XBox. Puede además simular varios sistemas operativos como DOS, Windows o Linux. · Microsoft Virtual PC: suite de virtualización de Microsot para Windows y para MacOS. VirtualPC emula un PC estándar y todo el hardware asociado. · Parallels Workstation: software de virtualización de la empresa Parallels Incorporation para procesadores Intel x86. · QEMU: aplicación de software libre que implementa un emulador de procesador y que incluye un acelerador que permite incrementar la velocidad de las máquinas virtuales. · Virtual Iron: otra aplicación de virtualización que ha sido de las primeras en aprovechar las capacidades específicas de virtualización de los nuevos procesadores Intel y AMD. · VMWare: un completo conjunto de aplicaciones de virtualización, con herramientas de pago orientadas a la empresa y otras gratuitas más orientadas al uso personal. Hasta hace poco tiempo solo se ofrecía de manera gratuita la aplicación VMWare Player, que permitía ejecutar distintas máquinas virtuales ya creadas y que se podían descargar desde Internet. Desde fechas recientes se ofrece también de manera gratuita VMWare Server, que permite no sólo ejecutar máquinas ya creadas sino crear las máquinas desde el comienzo. · Xen: Una herramienta muy usada en la comunidad Linux puesto que hasta hace poco tiempo sólo podía usar Linux/Unix como sistema anfitrión. Con la versión Xen 3.0 ya se puede instalar en Windows. · VirtualBox: una herramienta para Windows y para Linux (la versión para MAC actualmente está en desarrollo en fase pre-alfa) liberada bajo licencia GPL y con un rendimiento similar al de otras aplicaciones como VirtualPC o VMWare.
 * Estructura: **
 * Herramientas de virtualizacion **

VOLVER A LA TABLA DE CONTENIDO