2. ¿QUÉ ES UNA MÁQUINA VIRTUAL?
Una máquina virtual es un software (programa) que emula a un
ordenador real y por lo tanto dispone de disco duro, memoria
ram, tarjeta gráfica, etc. y puede ejecutar programas como lo
hace una computadora. En informática una máquina virtual es un
software que simula a una computadora y puede ejecutar
programas como si fuese una computadora real.
3. MÁQUINA VIRTUAL DE HARDWARE
Las máquinas virtuales de 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
virtualización 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 operation system").
4. MÁQUINA VIRTUAL DE HARDWARE
Emulación del hardware subyacente (ejecución nativa)
Esta técnica se suele llamar virtualización completa (full virtualización) 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.
5. MÁQUINA VIRTUAL SOFTWARE
Máquinas virtuales de proceso
Una máquina virtual de proceso, a veces llamada "máquina virtual de
aplicación o software", se ejecuta como un proceso normal dentro de un
sistema operativo 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 é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.
6. PROGRAMAS
Máquinas virtuales de proceso
Common Language Runtime - C#, Visual Basic .NET, J#, Managed C++
EiffelStudiopara el lenguaje de programación Eiffel
Lenguaje de programación Erlang
Forth virtual machine - Forth
Glulx - Glulx, Z-code
Harbour - Harbour virtual machine
Hec - Hasm Assembler
Parrot - Perl 6
Perl virtual machine - Perl
Portable.NET - C#, Visual Basic .NET, J#, Managed C++
7. Máquinas virtuales de sistema
VThere (de Sentillion, Inc. [1])
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
Hercules emulator, free System/370, ESA/390, z/Mainframe
Integrity Workstation Green Hills Software[2]
LilyVM is a lightweight virtual machineAn introduction
Microsoft Virtual PC y Microsoft Virtual Server
8. INCONVENIENTES VM
Uno de los inconvenientes de las máquinas virtuales es que
agregan gran complejidad al sistema en tiempo de ejecución. Esto
tiene como efecto la ralentización del sistema, es decir, el
programa no alcanzará la misma velocidad de ejecución que si se
instalase directamente en el sistema operativo "anfitrión" (host)
o directamente sobre la plataforma de hardware. Sin embargo, a
menudo la flexibilidad que ofrecen compensa esta pérdida de
eficiencia.
9. VENTAJAS
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.
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.