1. ¿Qué ES UNA MAQUINA VIRTUAL?
una máquina virtual es un software que emula a un ordenador y puede ejecutar
programas como si fuese un ordenador 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 este "ordenador 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 (Linux, por ejemplo) desde nuestro sistema
operativo habitual (Windows por ejemplo) sin necesidad de instalarlo directamente
en nuestro ordenador y sin miedo a que se desconfigure el sistema operativo
primario.
EJEMPLOS:
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 - HasmAssembler
Inferno - Limbo
Java virtual machine -
Java, Nice, NetREXX
Low Level Virtual Machine (LLVM) -
actualmente C, C++, Stacker
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]
2. Lua
Macromedia Flash Player - SWF
MMIX - MMIXAL
Neko virtual machine actualmente
Neko y haXe
O-code machine - BCPL
P-code machine - Pascal
Parrot - Perl 6
Perl virtual machine - Perl
Portable.NET - C#, Visual Basic
.NET, J#, Managed C++
YARV - Ruby
Rubinius - Ruby
ScummVM - Scumm
SECD machine - ISWIM, LispkitLisp
Sed the stream-editor can also be
seen as a VM with 2 storage spaces.
Smalltalk virtual machine - Smalltalk
SQLite virtual machine -
SQLiteopcodes
Squeak virtual machine - Squeak
SWEET16
TrueType virtual machine - TrueType
Valgrind - chequeo de accesos a
memoria y "leaks" en x86/x86-
64 codeunder Linux
VX32 virtual machine - application-
level virtualization for native code
Virtual Processor (VP) from Tao
Group (UK).
Waba - similar a Java, para
dispositivos pequeños
Warren Abstract Machine -
Prolog, CSC GraphTalk
LilyVM is a lightweight virtual
machineAn introduction
Microsoft Virtual PC y Microsoft
Virtual Server
OKL4
Parallels Workstation, virtualización
de x86 para ejecutar sistemas
operativos
Parallels Desktop for Mac,
virtualización de x86 para ejecutar
máquinas virtuales en Mac OS X
QEMU, muy popular en entornos
Linux
SheepShaver.
Simics
SVISTA
Trango Virtual Processors
TwoOStwo
User-mode Linux
VirtualBox
Virtual Iron (Virtual Iron 3.1)
Virtual Operating System de Star
Virtual Machines
VM de IBM
VMware (ESX Server, Fusion, Virtual
Server, Workstation, Player y ACE)
Xen
KVM
IBM POWER SYSTEMS
Torrecilla Virtual Machine (TVM)
Máquinas virtuales a nivel de sistema
operativo
OpenVZ
Virtuozzo
3. Z-machine - Z-Code
ZendEngine - PHP
FreeVPS
Linux-VServer
FreeBSDJails
Solaris Containers
AIX WorkloadPartitions
VIRTUALBOX
Oracle VM VirtualBox es un software de virtualización para
arquitecturas x86/amd64, creado originalmente por la empresa alemana
innotekGmbH. Actualmente es desarrollado por Oracle Corporation como parte de
su familia de productos de virtualización. Por medio de esta aplicación es posible
instalar sistemas operativos adicionales, conocidos como «sistemas invitados»,
dentro de otro sistema operativo «anfitrión», cada uno con su propio ambiente
virtual.
Entre los sistemas operativos soportados (en modo anfitrión) se
encuentran GNU/Linux, Mac OS X, OS/2 Warp , Microsoft Windows,
ySolaris/OpenSolaris, y dentro de ellos es posible virtualizar los sistemas
operativos FreeBSD, GNU/Linux, OpenBSD, OS/2 Warp, Windows, Solaris, MS-
DOS y muchos otros.
La aplicación fue inicialmente ofrecida bajo una licencia de software privativo, pero
en enero de 2007, después de años de desarrollo, surgió VirtualBox OSE (Open
Source Edition) bajo la licencia GPL 2. Actualmente existe la versión privativa
Oracle VM VirtualBox, que es gratuita únicamente bajo uso personal o de
evaluación, y está sujeta a la licencia de "Uso Personal y de Evaluación
VirtualBox" (VirtualBox Personal Use and EvaluationLicense o PUEL) y la versión
Open Source, VirtualBox OSE, que es software libre, sujeta a la licencia GPL.
VirtualBox ofrece algunas funcionalidades interesantes, como la ejecución de
maquinas virtuales de forma remota, por medio del Remote Desktop
Protocol (RDP), soporte iSCSI, aunque estas opciones no están disponibles en la
versión OSE.
En cuanto a la emulación de hardware, los discos duros de los sistemas invitados
son almacenados en los sistemas anfitriones como archivos individuales en un
contenedor llamado Virtual Disk Image, incompatible con los demás softwares de
virtualización.
Otra de las funciones que presenta es la de montar imágenes ISO como unidades
virtuales ópticas de CD o DVD, o como un disquete.
Tiene un paquete de controladores que permiten aceleración en 3D, pantalla
completa, hasta 4 placas PCI Ethernet (8 si se utiliza la línea de comandos para
configurarlas), integración con teclado y ratón.