Una máquina virtual es un software que emula una computadora completa, permitiendo ejecutar programas como si se estuviera en una computadora real. Las máquinas virtuales limitan los recursos disponibles para los procesos que ejecutan. Un uso común es ejecutar sistemas operativos de prueba sin necesidad de instalarlos directamente en la computadora anfitrión.
1. En informática una máquina virtual es un software que emula a una
computadora y puede ejecutar programas como si fuese una computadora
real. Este software en un principio fue definido como "un duplicado
eficiente y aislado de una máquina física". La acepción del término
actualmente incluye a máquinas virtuales que no tienen ninguna
equivalencia directa con ningún hardware real.
Una característica esencial de las máquinas virtuales es que los procesos que
ejecutan están limitados por los recursos y abstracciones
proporcionados por ellas. Estos procesos no pueden escaparse de esta
"computadora virtual".
Uno de los usos domésticos más extendidos de las máquinas 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 (Mac OS X por ejemplo)
sin necesidad de instalarlo directamente en nuestra computadora y sin
miedo a que se desconfigure el sistema operativo primario.
2. Windows Virtual PC
Windows Virtual PC (antes llamado Microsoft Virtual PC, luego renombrado
Windows Virtual PC en Windows 7) es un software gestor de virtualización
desarrollado por Connectix y comprado por Microsoft para crear equipos
virtuales. Es decir, su función es emular mediante virtualización, un hardware
sobre el que funcione un determinado sistema operativo. Con esto se puede
conseguir ejecutar varios sistemas operativos en la misma máquina a la vez y
hacer que se comuniquen entre ellos.
3. Emulación de hardware:
Virtual PC, en el caso de la versión para Windows, no emula el procesador sino que deja que el mismo
ejecute las instrucciones en el entorno emulado. Por el contrario, en la versión para MacOS emula un
procesador Intel Pentium III (32 bit). El resto del hardware que emula son: una placa madre con un
chipset Intel 440BX, una tarjeta de video SVGA VESA Estandar S3 Trío32/64 con 8 MB. de memoria
VRAM, un chip de BIOS de American Megatrends, una tarjeta de sonido SoundBlaster 16 y una tarjeta
de red DEC 21140.
No presenta soporte para todos los programas, debido a que pueden existir fallos debido a errores en la
sincronización de las operaciones o se pueden generar opcodes fuera de tiempo.
La emulación en Macintosh es de recompilación dinámica para traducir código x86 a código de un
Mac con procesador PowerPC. En los Mac con procesador Intel no existe una versión de VirtualPC con
lo que hay que acudir a otro tipo de soluciones.
La emulación en Windows también es de recopilación dinámica, pero solo traduce el modo de kernel y
el modo real x86 a código de usuario x86, mientras el usuario original corre en forma nativa o
verdadera.
Virtual Machine Additions:
Para facilitar el intercambio y compartir archivos, las carpetas y los datos entre el anfitrión y el
huésped, Virtual PC proporcionan un sistema Llamado Virtual Machine Additions. Éstos se pueden
instalar en el sistema operativo huésped para proporcionar la funcionalidades siguientes a través del
anfitrión y el huésped:
Un mejor Rendimiento en el sistema operativo huésped.
Integración con el ratón
Controlador de vídeo optimizado
Resolución de la pantalla dinámica (puede cambiarse fácilmente la resolución de la pantalla del
huésped solo redimensionando la ventana de la máquina virtual).
Sincronización de tiempo con el anfitrión
Sincronización del portapapeles
Capacidades de arrastrar archivos entre la ventana del SO huésped y el anfitrión
Carpetas compartidas
4. Emulación de un entorno basado
en Linux
La instalación de sistemas Linux como huésped en Virtual PC es
posible, pero no es fluido. A la fecha, Windows Virtual PC no soporta
Linux como huésped oficialmente, aunque Virtual Machine Additions para
Linux estaban disponibles en los lanzamientos de Connectix Virtual PC
antes de la adquisición de Microsoft. No obstante, Virtual Machine
Additions de Microsoft Virtual Server soportan Linux, y estas deben
también trabajar en Virtual PC
Algunas distribuciones de Linux se deben instalar en modo de texto, ya que
Virtual PC de Microsoft emula solamente gráficos en la profundidad de
color de 16 Bits o de 32 Bits, no 24 Bits; así, para funcionar hay que
configurar X Window para una profundidad de color de 16 Bits
especificándolo en el archivo de configuración xorg.conf del sistema
operativo huésped. Ubuntu 8.10 (Intrepid Ibex) se debe instalar en
SafeMode, pero no requiere otros cambios.
Algunos sitios web se especializan en los sistemas operativos del listado
que funcionan con éxito como huéspedes en Virtual PC, para ayudar a
usuarios a evitar problemas al instalar las distribuciones de Linux u otros
sistemas operativos que carecen la ayuda oficial de Microsoft.
5. VMware
VMware Inc., (VM de Virtual Machine) filial de EMC Corporation que proporciona la mayor parte del
software de virtualización disponible para ordenadores compatibles X86. Entre este software se
incluyen VMware Workstation, y los gratuitos VMware Server y VMware Player. El software de
VMware puede funcionar en Windows, Linux, y en la plataforma Mac OS X que corre en procesadores
INTEL, bajo el nombre de VMware Fusión. El nombre corporativo de la compañía es un juego de
palabras usando la interpretación tradicional de las siglas «VM» en los ambientes de computación,
como máquinas virtuales (Virtual Machines).
es un sistema de virtualización por software. Un sistema virtual por software es un programa que
simula un sistema físico (un computador, un hardware) con unas características de hardware
determinadas. Cuando se ejecuta el programa (simulador), proporciona un ambiente de ejecución
similar a todos los efectos a un computador físico (excepto en el puro acceso físico al hardware
simulado), con CPU (puede ser más de una), BIOS, tarjeta gráfica, memoria RAM, tarjeta de red,
sistema de sonido, conexión USB, disco duro (pueden ser más de uno), etc.
Un virtualizador por software permite ejecutar (simular) varios computadores (sistemas operativos)
dentro de un mismo hardware de manera simultánea, permitiendo así el mayor aprovechamiento de
recursos. No obstante, y al ser una capa intermedia entre el sistema físico y el sistema operativo que
funciona en el hardware emulado, la velocidad de ejecución de este último es menor, pero en la
mayoría de los casos suficiente para usarse en entornos de producción.
6. Funcionamiento
En el caso de la versión Workstation y Server, el funcionamiento es
bastante similar a lo siguiente:
aplicación --> OS (virtual) --> Hardware (virtual) --> VMware --> (OS host)
--> hardware físico.
Esto afecta el rendimiento y desempeño de las máquinas virtuales, a
diferencia de la versión ESX que funciona más o menos de la siguiente
manera.
Aplicación --> OS (virtual) --> Hardware (virtual) --> VMware -->
hardware físico.
7. Productos
Versiones Gratuitas
VMware Player
Es un producto gratuito que permite ejecutar máquinas virtuales creadas con
productos de VMware. Las máquinas virtuales se pueden crear con productos
más avanzados como VMware Workstation, o con el propio VMware Player
desde su versión 3.0 (las versiones anteriores no incluyen dicha funcionalidad).
Desde la liberación de VMware Player, han surgido páginas web donde es
posible crear las máquinas virtuales, como Builder VMX Builder.
También es posible crear y redimensionar discos duros virtuales usando qemu.
Por ejemplo, con la orden siguiente se creará una imagen de disco de 2Gb que
puede ser usado con VMware.
8. VMware Server (antes GSX):
En un principio era una versión de pago, desde hace unos meses puede ser descargada y
utilizada de forma gratuita. Esta versión, a diferencia de la anterior, tiene un mejor manejo y
administración de recursos; también corre dentro de un sistema operativo (host), está
pensada para responder a una demanda mayor que el Workstation. Otra diferencia entre
VMware Server y Workstation es que se pueden ejecutar de manera concurrente más
máquinas virtuales soportando servidores con hasta 32 procesadores y/o 64 GB de
memoria, ofreciendo funcionalidad de administración remota, soporta una API avanzada y
funcionalidad de scripting y se puede ejecutar en modo headless.
Desde Julio de 2011 esta aplicación dejó de tener soporte por parte de VMware
VMware ESXi:
Es una versión completa del producto ESX, pero con varias limitaciones, entre ellas: no
permite instalar controladores (drivers) para hardware adicional (es decir, si el ESXi no posee
los controladores el hardware no puede ser utilizado); no permite utilizar las funciones
avanzadas de movimiento de maquinas virtuales encendidas (ON) de un equipo físico a otro
(VMOTION), ni hacerlo con el almacenamiento (STORAGEMOTION).
Sin embargo, es muy útil para conocer el funcionamiento del ESX, e incluso algunos
fabricantes (como HP o DELL) da la opcion de comprar servidores precargados con ese
sistema operativo en una memoria USB integrada en el equipo.
9. Versiones Comerciales
VMware ESX Server:
Artículo principal: VMware ESX Server.
Esta versión es un sistema complejo de virtualización, pues corre como
sistema operativo dedicado al manejo y administración de máquinas
virtuales dado que no necesita un sistema operativo host sobre el cual sea
necesario instalarlo. Pensado para la centralización y virtualización de
servidores, esta versión no es compatible con una gran lista de hardware
doméstico, por ejemplo no reconoce los disco IDE como unidades de
almacenamiento y seria inútil instalarlo en este tipo de discos (en la
versión 3.5 ya esta soportado sata). Es realmente útil, ya que solamente
ocupa 10 Mb de RAM y 55 de Disco Duro, aproximadamente... Para su
administración, hay que instalar un software en una máquina remota, que
se conecta por entorno web.