Es un Software de virtualización para arquitecturas x86 y AMD64/Intel64. Originalmente creado por la empresa alemana Innotek GmbH. 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 invitados, dentro de otro sistema operativo anfitrión, cada uno con su propio ambiente virtual.
Entre los sistemas operativos anfitriones soportados estan GNU/Linux, Mac OS X, OS/2 Warp , Windows, y Solaris/OpenSolaris, y dentro de éstos es posible virtualizar los sistemas operativos FreeBSD, GNU/Linux, OpenBSD, OS/2 Warp, Windows, Solaris, MS-DOS y muchos otros. En comparación con otras aplicaciones privadas de virtualización, como VMware Workstation o Microsoft Virtual PC, VirtualBox carece de algunas funcionalidades, pero provee de otras como la ejecución de maquinas virtuales de forma remota, por medio del Remote Desktop Protocol (RDP), soporte iSCSI.
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 software de virtualización. Otra de las funciones que presenta es la de montar imágenes ISO como unidades virtuales de CD o DVD.
La aplicación fue inicialmente ofrecida bajo una licencia de software propietario, 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 propietaria 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 Evaluation License o PUEL) y la versión Open Source, VirtualBox OSE, que es software libre, sujeta a la licencia GPL.
Ventajas:
- Es gratuito
- Soporta el conjunto de instrucciones de virtualización en procesadores Intel VTx y AMD-V, esto mejora el rendimiento y lo sitúa con muy buena puntuación en recientes comparativas de virtualización como Virtualization in Linux.
- Mantiene una edición de código abierto Open Source Edition (OSE), aunque con unas pocas menos funcionalidades.
- Es un proyecto activo y seriamente respaldado desde su adquisición por parte de Sun Microsystems y ahora por Oracle.
- Se puede instalar en una amplia variedad de sistemas operativos soportados: Debian, Fedora, Mandriva, Ubuntu, RedHat, Open SOlaris, Mac OS X, Xandros, openSUSE, PCLinux OS.
- Dispone de excelente documentación técnica y de usuario . Yo aprecio mucho la documentación para empaparme desde el principio del cómo sacar el máximo rendimiento de un producto.
- Es sorprendentemente fácil de instalar y poner en marcha en todas las plataformas pero sobre todo en Linux y eso es algo que se agradece.
- La interface usuario está traducida a más de 20 idiomas; cuenta con un mecanismo de avisos que nos ayuda a controlar rápidamente opciones como la captura del teclado y ratón o el modo pantalla completa; además dispone de multitud de opciones perfectamente explicadas y cuadros de diálogo muy utiles para organizar discos duros e imágenes ISO; permite múltiples snapshots (instantáneas de la máquina virtual a las que podemos volver).
- Acceso a la consola de cada máquina virtual por red vía Remote Display Protocol (RDP), esto es extremadamente útil ya que resuelve el problema de acceso remoto a cualquier sistema virtualizado independientemente de cuál sea: Linux, bsd, solaris o win serán accesibles vía RDP.
- Soporte de asignación de dispositivos USB 2.0 entre el anfitrión y la máquina virtual e incluso paso de USB sobre RDP. Esta capacidad es muy potente: podemos conectar dispositivos USB desde máquinas distintas al anfitrión utilizando el cliente RDP.
- El iniciador iSCSI hace posible utilizar almacenamiento en red sin necesidad de que el sistema operativo virtualizado soporte de forma nativa el protocolo iSCSI.
Desventajas:
- No se pueden arrancar máquinas virtuales en segundo plano como servicio al inicio del sistema.
- Le falta un monitor de rendimiento y estado de las máquinas virtuales.
- No tiene un API o utilidad de línea de comandos para manipular el estado de las máquinas virtuales.
- No soporta aceleración de vídeo OpenGL o DirectX.
- No es posible generar snapshots (instantáneas del sistema virtualizado) en caliente.