Máquina Virtual
Máquina Virtual
Máquina Virtual
computadora real.
Una caracterstica esencial de las mquinas virtuales es que los procesos que ejecutan estn limitados por los recursos y abstracciones proporcionados por ellas. Estos procesos no pueden escaparse de esta "computadora virtual"
Uno de los usos domsticos ms extendidos de las mquinas virtuales es ejecutar sistemas operativos para "probarlos". De esta forma podemos ejecutar un sistema operativo que queramos probar (GNU/Linux, por ejemplo) desde nuestro sistema operativo habitual (Windows por ejemplo) sin necesidad de instalarlo directamente en nuestra computadora y sin miedo a que se desconfigure el sistema operativo primario.
Las mquinas virtuales se pueden clasificar en dos grandes categoras segn su funcionalidad y su grado de equivalencia a una verdadera mquina:
Mquinas virtuales de sistema Mquinas virtuales de proceso
Las mquinas virtuales de sistema, tambin llamadas mquinas virtuales de hardware, permiten a la mquina fsica subyacente multiplexarse entre varias mquinas virtuales, cada una ejecutando su propio sistema operativo. A la capa de software que permite la virtualizacin se la llama monitor de mquina virtual o "hypervisor". Un monitor de mquina virtual puede ejecutarse o bien directamente sobre el hardware o bien sobre un sistema operativo.
Varios sistemas operativos distintos pueden coexistir sobre la misma computadora, en slido aislamiento el uno del otro, por ejemplo para probar un sistema operativo nuevo sin necesidad de instalarlo directamente. La mquina virtual puede proporcionar una arquitectura de instrucciones (ISA) que sea algo distinta de 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 que normalmente se tengan que ejecutar en computadoras distintas para evitar interferencias, se puedan ejecutar en la misma mquina de manera completamente aislada y compartiendo los recursos de una nica computadora. La consolidacin de servidores a menudo contribuye a reducir el coste total de las instalaciones 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 "subutilizados" (gran capacidad de disco duro, memoria RAM, etc.), llegando a un uso de entre 30% a 60% de su capacidad. Al virtualizar, la necesidad de nuevas mquinas en una ya existente permite un ahorro considerable de los costos asociados (energa, mantenimiento, espacio, etc).
Una mquina virtual de proceso, a veces llamada "mquina virtual de aplicacin", se ejecuta como un proceso normal dentro de un sistema operativo y soporta un solo proceso. La mquina se inicia automticamente cuando se lanza el proceso que se desea ejecutar y se detiene para cuando ste finaliza. Su objetivo es el de proporcionar un entorno de ejecucin independiente de la plataforma de hardware y del sistema operativo, que oculte los detalles de la plataforma subyacente y permita que un 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. Una Mquina virtual Java es un mquina virtual de proceso nativo, es decir, ejecutable en una plataforma especfica, capaz de interpretar y ejecutar instrucciones expresadas en un cdigo binario especial (el Java bytecode), el cual es generado por el compilador del lenguaje Java
El cdigo binario de Java no es un lenguaje de alto nivel, sino un verdadero cdigo mquina de bajo nivel, viable incluso como lenguaje de entrada para un microprocesador fsico. La mquina virtual de Java puede estar implementada en software, hardware, una herramienta de desarrollo o un Web browser; lee y ejecuta cdigo precompilado bytecode que es independiente de la plataforma.