2. ¿QUÉ ES UNA MAQUINA VIRTUAL?
Una máquina virtual (MV) o virtual machine (VM) es una implementación de
software de una máquina física ya sea un servidor o una PC.
Crea un entorno virtual entre el sistema operativo y el hardware para que el
usuario final pueda ejecutar aplicaciones en una máquina abstracta.
Por decirlo de manera más sencilla, una máquina virtual es una aplicación
que simula el funcionamiento de una máquina real sobre la que se pueden
instalar sistemas operativos, aplicaciones, navegar de forma segura, imprimir
desde alguna aplicación, usar los dispositivos USB, etc.
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".
3. MAQUINA VIRTUAL DE HARDWARE
Las máquinas virtuales de hardware también llamadas máquinas virtuales de
sistema, son aplicaciones que tratan de emular directamente el hardware.
Las llamadas al hardware del sistema operativo instalado serán capturadas y
convertidas en llamadas al sistema del hardware emulado. En general, la
emulación del hardware recibe el nombre de virtualización.
Estas maquinas virtuales, 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 virtualización se la
llama monitor de máquina virtual o hypervisor.
4. MAQUINA VIRTUAL DE SOFTWARE
Este tipo de máquinas virtuales se sitúan por encima del sistema operativo y
tratan de aislar a las aplicaciones del entorno sobre el que se ejecutan.
La máquina se inicia automáticamente 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 ejecución 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.
La máquina virtual de Java o la máquina virtual del entorno .NET son dos
claros ejemplos de máquinas virtuales software
5. PROGRAMAS PARA MONTAR UNA MV
VirtualBox - Actualmente es desarrollado por Oracle y es totalmente gratis.
Viene con un sinnúmero de características que facilitan la creación y el
mantenimiento de una maquina virtual. Las descripciones y los parámetros
de las maquinas virtuales se almacenan en archivos XML que permite la
potabilidad e intercambio de archivos entre el “hosts” y el “guest”.
Parallels - Aunque es bien conocido por su versión de MAC OS X, Parallels
también corre virtualizaciones en Windows y Linux. Este programa tiene un
buen rendimiento o “performance” gracias a un enlace directo, es decir esta
optimizado para correr en procesadores Intel y AMD.
6. PROGRAMAS PARA MONTAR UNA MV
VMware - Viene en dos sabores: VM Player y VMware Workstation. VMware
Player es la versión gratuita para usuarios casuales que no necesitan
opciones avanzadas.
En el caso de VMware Workstation, esta incluye todas las características de
VMware Player como fácil creación de maquinas virtuales, optimización de
harware e impresión si necesidad de instalar controladores o “drivers”.
7. VENTAJAS DE LAS MV
Consolidación de servidores: Convertir muchos servidores físicos en virtuales.
De este modo se aprovecha el hardware disponible de la mejor manera
posible.
Recuperación ante desastres: Las máquinas virtuales se pueden salvar muy
fácilmente, y además su estado se puede almacenar, por lo que en caso de
desastre se puede recuperar la información con rapidez.
Pruebas de aplicaciones: En muchas ocasiones se necesita un entorno limpio
para probar una aplicación. Usar una máquina virtual permite instalar un
sistema operativo desde cero, probar la aplicación y luego eliminar la
máquina.
8. VENTAJAS DE LAS MV
Ejecución de entornos completos sin instalación ni configuración: La
posibilidad de descargar máquinas virtuales desde Internet permite ahorrar
tiempo en instalaciones y configuraciones. Existen muchas máquinas virtuales
con servidores LAMP (Linux, Apache, mySQL y PHP) completos listos para ser
usados, máquinas con gestores de contenidos, wikis, etc., gratuitos y
funcionales desde el primer momento.
Aplicaciones portátiles: Con el uso de las máquinas virtuales se pueden tener
PCs completos listos para usar en dispositivos USB, lo que puede ser de
mucha utilidad para tener un entorno privado y usarlo en cualquier PC.
9. DESVENTAJAS DE LAS V
Una de las razones por que las máquinas virtuales, no son la panacea de la
computación, es que agregan gran complejidad al sistema en tiempo de
ejecución. La principal desventaja de la máquina virtual, es que en la
aplicación de algunos proceso tendrá como efecto la lentitud del
computador, es decir, la computadora en la cual se esta ejecutando este
proceso debe tener una capacidad bastante notable “debe ser de gran
capacidad o potente”.
Los lenguajes basados en máquina virtual, poseen una desventaja es que
efectivamente son más lentos que los lenguajes completamente
compilados, debido a la sobrecarga que genera tener una capa de
software intermedia entre la aplicación y el hardware de la computadora,
sin embargo, Esta desventaja no es demasiado crítica.
10. LISTADO DE ALGUNAS MAQUINAS VIRTUALES
Máquinas virtuales de proceso
Common Language Runtime - C#, Visual Basic .NET, J#, Managed C++
EiffelStudio para el lenguaje de programación Eiffel
Lenguaje de programación Erlang
Forth virtual machine - Forth
Glulx - Glulx, Z-code
11. LISTADO DE ALGUNAS MAQUINAS VIRTUALES
Máquinas virtuales de sistema
VThere (de Sentillion, Inc. )
ATL (A MTL Virtual Machine)
Bochs emulador de PC x86 y AMD64, portátil y open source
CoLinux Open Source Linux inside Windows
Denali, uses paravirtualization of x86 for running para-virtualized PC operating
systems.
FAUmachine
12. LISTADO DE ALGUNAS MAQUINAS VIRTUALES
Máquinas virtuales a nivel de sistema operativo
OpenVZ
Virtuozzo
FreeVPS
Linux-VServer