Maquina virtual

Embed Size (px)

Citation preview

1. En informtica una mquina virtual es un software que emula a una computadora y puede ejecutarprogramas como si fuese una computadora real. Este software en un principio fue definido como "unduplicado eficiente y aislado de una mquina fsica". La acepcin del trmino actualmente incluye amquinas virtuales que no tienen ninguna equivalencia directa con ningn hardware real.Una caracterstica esencial de las mquinas virtuales es que los procesos que ejecutan estn limitadospor los recursos y abstracciones proporcionados por ellas. Estos procesos no pueden escaparse deesta "computadora virtual".Uno de los usos domsticos ms extendidos de las mquinas virtuales es ejecutar sistemas operativospara "probarlos". De esta forma podemos ejecutar un sistema operativo que queramos probar(GNU/Linux, por ejemplo) desde nuestro sistema operativo habitual (Mac OS X por ejemplo) sinnecesidad de instalarlo directamente en nuestra computadora y sin miedo a que se desconfigure elsistema operativo primario.TIPOS DE MAQUINASVIRTUALESLas mquinas virtuales se pueden clasificar en dos grandes categoras segn su funcionalidad y sugrado de equivalencia a una verdadera mquina. Mquinas virtuales de sistema (en ingls System Virtual Machine) Mquinas virtuales de proceso (en ingls Process Virtual Machine)MAQUINAS VISTUALES DEL SISTEMALas mquinas virtuales de sistema, tambin llamadas mquinas virtuales de hardware, permiten a lamquina fsica subyacente multiplicarse entre varias mquinas virtuales, cada una ejecutando su propiosistema operativo. A la capa de software que permite la virtualizacin se la llama monitor de mquinavirtual o hypervisor. Un monitor de mquina virtual puede ejecutarse o bien directamente sobre elhardware o bien sobre un sistema operativo ("host operating system").APLICACIONES DE LAS MAQUINAS VIRTUALES DEL SISTEMAVarios sistemas operativos distintos pueden coexistir sobre la misma computadora, en slidoaislamiento el uno del otro, por ejemplo para probar un sistema operativo nuevo sin necesidad deinstalarlo directamente.La mquina virtual puede proporcionar una arquitectura de instrucciones (ISA]) que sea algo distintade la verdadera mquina. Es decir, podemos simular hardware.Varias mquinas virtuales (cada una con su propio sistema operativo llamado sistema operativo"invitado" o "guest"), pueden ser utilizadas para consolidar servidores. Esto permite que servicios quenormalmente se tengan que ejecutar en computadoras distintas para evitar interferencias, se puedanejecutar en la misma mquina de manera completamente aislada y compartiendo los recursos de unanica computadora. La consolidacin de servidores a menudo contribuye a reducir el coste total de lasinstalaciones necesarias para mantener los servicios, dado que permiten ahorrar en hardware.La virtualizacin es una excelente opcin hoy da, ya que las mquinas actuales (Laptops, desktops,servidores) en la mayora de los casos estn siendo "sub-utilizados" (gran capacidad de disco duro,memoria RAM, etc.), llegando a un uso de entre 30% a 60% de su capacidad. Al virtualizar, lanecesidad de nuevas mquinas en una ya existente permite un ahorro considerable de los costosasociados (energa, mantenimiento, espacio, etc).MAQUIAS VIRTUALES DE PROCESO 2. Una mquina virtual de proceso, a veces llamada "mquina virtual de aplicacin", se ejecuta comoun proceso normal dentro de un sistema operativo y soporta un solo proceso. La mquina se iniciaautomticamente cuando se lanza el proceso que se desea ejecutar y se detiene para cuando stefinaliza. Su objetivo es el de proporcionar un entorno de ejecucin independiente de la plataforma dehardware y del sistema operativo, que oculte los detalles de la plataforma subyacente y permita queun programa se ejecute siempre de la misma forma sobre cualquier plataforma.El ejemplo ms conocido actualmente de este tipo de mquina virtual es la mquina virtual de Java.Otra mquina virtual muy conocida es la del entorno .Net de Microsoft que se llama "CommonLanguage Runtime".INCONVNIENTES DE LAS MAQUINAS VIRTUALESUno de los inconvenientes de las mquinas virtuales es que agregan gran complejidad al sistema entiempo de ejecucin. Esto tiene como efecto la ralentizacin del sistema, es decir, el programa noalcanzar la misma velocidad de ejecucin que si se instalase directamente en el sistema operativo"anfitrin" (host) o directamente sobre la plataforma de hardware. Sin embargo, a menudo laflexibilidad que ofrecen compensa esta prdida de eficiencia.EMULACIONDEL HARDWARE SUBYACENTE EJECUACION NATIVAEsta tcnica se suele llamar virtualizacin completa (full virtualization) del hardware, y se puedeimplementar 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 mquina virtual puede ejecutar cualquier sistema operativo soportado por el hardwaresubyacente. As los usuarios pueden ejecutar dos o ms sistemas operativos distintos simultneamenteen computadoras "privadas" virtuales.El sistema pionero que utiliz este concepto fue la CP-40, la primera versin (1967) de la CP/CMS deIBM (1967-1972) y el precursor de la familia VM de IBM (de 1972 en adelante). Con la arquitecturaVM, la mayor parte de usuarios controlan un sistema operativo monousuario relativamente simplellamado CMS que se ejecuta en la mquina virtual VM.