Subscribe:

domingo, 16 de agosto de 2015

APLICACIONES VIRTUALES

¿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 time­sharing, 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