¿QUE SON APLICACIONES VIRTUALES?
Las aplicaciones virtuales son algo parecido a las maquinas virtuales, pero a nivel aplicación, donde cada uno de los programas que son virtualizados se ejecutan en su propio ámbito cerrado y aislado de los demás, garantizando con ello la posibilidad de ejecutar en un solo equipo físico, diferentes versiones de la misma aplicación, sin que surjan conflictos entre ellas. Habilita también la posibilidad de ejecutar aplicaciones que tengan conflictos entre sí, de forma simultánea.
http://jrbonell.blogspot.com/2007/09/aplicaciones-virtuales.html
¿PARA QUE SIRVEN?
Una aplicación virtual esta hecha o desarrollada dependiendo de la función o la simulación para la cual fue creada.
ejemplos:
Virtial box: la máquina virtual me permite ejecutar diferentes sistemas operativos sobre un solo hardware donde comparten los recursos del mismo.
Virtual DJ: esta aplicación para la mezcla de audio y vídeo cuya interfaz simula la de una mesa de mezcla.
http://www.applesfera.com/aplicaciones-os-x-1/virtualdj-aplicacion-para-crear-mezclas-de-audio-y-video
http://blogs.technet.com/b/rubencolomo/archive/2007/07/13/m-quina-virtual-o-aplicaci-n-virtual.aspx
CARACTERISTICAS DE LAS MAQUINAS VIRTUALES
- Las máquinas virtuales están aisladas entre sí, igual que las máquinas físicas. Por ejemplo, si hay 3 máquinas virtuales en una máquina real y falla una de ellas, las otras dos siguen estando disponibles.
- Una máquina virtual ni siquiera sabe que es virtual; se comporta como una máquina física real.
- Una máquina virtual es compatible con sistemas operativos estándar como Windows o Linux, es decir, cualquier programa desarrollado para dichos sistemas operativos puede ejecutarse en una máquina virtual.
- Una máquina virtual es completamente independiente del hardware físico. La máquina virtual tiene todos los componentes físicos pero éstos son virtuales (placa base virtual, tarjeta VGA virtual, controlador de tarjeta de red virtual,…, etc.), esto quiere decir que una máquina virtual puede ejecutarse en una máquina real con tarjeta de red de marca x, pero siempre verá una tarjeta de red virtual. Esto es útil porque permite que una máquina virtual se pueda mover de una maquina real a otra, sin realizar cambios en los controladores del dispositivo aunque las 2 máquinas reales sean de 2 fabricantes distintos. La independencia del hardware proporciona más potabilidad y flexibilidad para la gestión de servidores por ejemplo.
- Las aplicaciones están protegidas de los problemas de estabilidad y rendimiento de otras aplicaciones existentes en la máquina real, es decir; si una persona tiene todas sus aplicaciones en una máquina virtual, la estabilidad y rendimiento es independiente de lo que suceda en la máquina real. El comportamiento es como si se tratara de otro ordenador.
- Una máquina virtual se encapsula en una colección de archivos, y al igual que los archivos, las máquinas virtuales se pueden copiar, mover, distribuir (enviar por correo, grabar en DVD, etc.)
http://www.aprenderaprogramar.com/index.php?option=com_attachments&task=download&id=139
Tipos de máquinas virtuales
Las máquinas virtuales se pueden clasificar en dos grandes categorías según su funcionalidad y su grado de equivalencia a una verdadera máquina.
- Maquinas Virtuales de sistema (en inglés System Virtual Machine)
- Maquinas Virtuales de proceso (en inglés Process Virtual Machine)
Máquinas virtuales de sistema
Las máquinas virtuales de alivio sistema, también llamadas máquinas virtuales de hardware, permiten a la máquina física subyacente multiplicarse entre varias máquinas virtuales, cada una ejecutando su propio sistema operativo. A la capa de software que permite la virtualizacion se la llama monitor de máquina virtual o "hypervisor". Un monitor de máquina virtual puede ejecutarse o bien directamente sobre el hardware o bien sobre un sistema operativo ("host operating system").
- Ejemplos: Java, .NET Framework.
- Máquina virtual instanciada para un proceso.
- Cuando termina el proceso, termina la instancia de máquina virtual.
Máquinas virtuales de proceso
Una máquina virtual de proceso, a veces llamada "máquina virtual de aplicación", se ejecuta como un proceso normal dentro de un SO y soporta un solo proceso. La máquina se inicia automáticamente cuando se lanza el proceso que se desea ejecutar y se detiene para cuando este finaliza. Su objetivo es el de proporcionar un entorno de ejecución independiente de la plataforma de hardware y del SO, que oculte los detalles de la plataforma subyacente y permita que un programa se ejecute siempre de la misma forma sobre cualquier plataforma.
- Virtualizacion ISA (Instruction Set Architecture).
- Ofrecen un entorno de ejecución completo.
http://www.ecured.cu/index.php/M%C3%A1quinas_virtuales
Técnicas
Emulación del hardware subyacente (ejecución nativa)
Esta técnica se suele llamar virtualzacion 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 virtualizacion 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.
Virtualizacion 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 MÁQUINAS VIRTUALES
Hasta ahora puede parecer que una máquina virtual es la panacea para resolver muchos
problemas, pero también podemos indicar que tienen algunos inconvenientes. Entre ellos podemos
destacar:
• La máquina virtual ocupará espacio de nuestro disco duro. La máquina virtual en sí puede ocupar en
torno a 1 GB, pero a este espacio hay que añadirle el sistema operativo que tendremos que instalar.
Además, el espacio ocupado irá creciendo a medida que instalemos más programas en ella.
• Cuando tenemos una máquina virtual y la arrancamos parte de los recursos de nuestro sistema real
(memoria ram, memoria de tarjeta gráfica, capacidad del procesador, etc.) se derivan a la máquina
virtual. Esto puede suponer que nuestro ordenador vaya más lento, ya que los mismos recursos
tienen que sostener a dos máquinas.
• Aunque máquina real y virtual son sistemas independientes, realmente la máquina virtual está
corriendo con “el fondo” del sistema operativo real. Por tanto el sistema operativo real puede
hacer que el rendimiento de nuestra máquina virtual no sea bueno y que vaya más lenta que con
otros sistemas operativos. Por ejemplo, una máquina virtual puede correr mejor con Windows 8
Ultimate que con Windows 8 Home.
http://www.aprenderaprogramar.com/index.php?option=com_attachments&task=download&id=139
HISTORIA
La historia de las computadoras data de varias décadas atrás. Para ser preciso, su historia se divide en
etapas que dan comienzo desde 1955 hasta la actualidad. La evolución de todos los elementos relacionados
con las computadoras actuales no es lo que nos ocupa, sino que nos referiremos a la forma en que
evolucionaron los sistemas capaces de correr maquinas virtuales (VM).
La necesidad de la existencia de VM da comienzo por la necesidad de obtener un sistema operativo que
fuese capaz de soportar múltiples usuarios corriendo sobre él (timesharing
1
), es decir que fuese capaz de
ejecutar los procesos que éstos necesitaban correr. Durante este período surgieron varios Sistemas
operativos (SO) que trataron de solucionar esta necesidad. IBM desarrolló un SO llamado OS/360. En un
comienzo no estaba capacitado para soportar timesharing, pero tras surgir esta necesidad se le incorporó
esta función. A pesar de los intentos de IBM por dotar al 360 con ésta funcionalidad, lograron obtener un
sistema que era muy pesado, e inconsistente.
Para solucionarlo se propuso un nuevo sistema (en 1972 que aun esta presente en la actualidad) llamado
VM/370 (1). Éste marcó un punto muy importante en la historia, ya que para poder proporcionar un sistema
de tiempo compartido, se basó en una serie de conceptos que no se habían tenido en cuenta hasta la fecha.
Éstos fueron:
• Multiprogramación: varios procesos corriendo en simultáneo.
• Un máquina extendida con interfaz más conveniente que el mero hardware.
VM/370 es la esencia de éstas dos funciones. Éste simulaba varias máquinas compartidas y cada una de
ellas brindaba a cada usuario una copia exacta del hardware de la máquina (cuando en realidad se contaba
con un solo hardware y este se repartía entre todas las VM). Tenía un corazón, llamado monitor del sistema,
que era el encargado de simular las mútiples maquinas. Uno de los inconvenientes de este SO es que solo
corre en arquitecturas IBM/370, hecho que no significaba una gran limitación durante su surgimiento.
Con el tiempo las VM han evolucionado mucho, siempre teniendo el mismo concepto, es decir un sistema
que brinda una abstracción a otros entes (SO, procesos de usuarios, etc). En la actualidad nos encontramos
con VM que son capaces de correr aplicaciones independientes hasta un conjunto de sistemas operativos,
siendo esto un hecho que proporciona independencia en los distintos sistemas.
file:///D:/Informe%20VM.pdf
0 comentarios:
Publicar un comentario