# VirtualBox

VirtualBox é um software de virtualização desenvolvido pela empresa Innotek depois comprado pela Sun Microsystems que posteriormente foi comprada pela Oracle que, como o VMware Workstation, visa criar ambientes para instalação de sistemas distintos. Ele permite a instalação e utilização de um sistema operacional dentro de outro, assim como seus respectivos softwares, como dois ou mais computadores independentes, mas compartilhando fisicamente o mesmo hardware.
O VirtualBox pode ser instalado em vários sistemas operacionais hospedeiros, incluindo: Linux, macOS, Windows, Solaris e OpenSolaris. Há também portes para FreeBSD e Genode. Ele suporta a criação e o gerenciamento de máquinas virtuais executando versões e derivações do Windows, Linux, BSD, OS/2, Solaris, Haiku, OSx86 e outras, e virtualização limitada de convidados macOS no hardware da Apple.
O VirtualBox pode ser usado tanto por usuários comuns, como por desenvolvedores de sistemas ou profissionais de TI.

## História

Criado pela empresa alemã Innotek, inicialmente oferecia uma licença proprietária, existia uma versão do produto para uso pessoal ou de avaliação sem custo. Em Janeiro de 2007 é lançado a versão VirtualBox OSE (Open Source Edition) com a licença GPL (GNU General Public License), versão 2. Em Fevereiro de 2008 a empresa Innotek é adquirida pela Sun Microsystems. No dia 20 de Abril de 2009 a Oracle compra a Sun Microsystems e todos os seus produtos, incluindo o VirtualBox.

## Características

O VirtualBox tem um desenho extremamente modular com interfaces de programação interna bem definidas e um desenho cliente/servidor. Isso torna fácil o controle de várias interfaces de uma só vez. Por exemplo: você pode iniciar uma máquina virtual em uma máquina típica virtual de interface gráfica e, em seguida, controlar essa máquina a partir da uma linha de comando, ou possivelmente remotamente. O VirtualBox também vem com um kit completo desenvolvimento de software: embora seja de código aberto, você não tem que cortar a fonte de escrever uma nova interface para VirtualBox.
As definições de configuração de máquinas virtuais são armazenados em XML e são totalmente independentes das máquinas locais. Por isso, as definições podem ser facilmente transferidas para outros computadores.
O VirtualBox tem um software especial que pode ser instalado dentro das máquinas virtuais Windows e Linux para melhorar o desempenho e fazer integração muito mais perfeita. Entre os recursos fornecidos por essas adições clientes são integração do ponteiro do mouse o e soluções arbitrárias de tela (por exemplo, o redimensionamento da janela do cliente).
Tal como muitos outras soluções de virtualização, para facilitar a troca de dados entre os hospedeiros e convidados, o VirtualBox permite a declaração dos diretórios de certos hospedeiros como "pastas compartilhadas", que pode ser acessadas de dentro de máquinas virtuais.
Conforme a figura ao lado, o VirtualBox utiliza-se do Hipervisor tipo 2, também denominado hosted, que é um software que se executa sobre um sistema operativo para oferecer a funcionalidade descrita.

## Recursos restritos

O VirtualBox possui uma série de recursos disponíveis somente quando o Pacote De Extensões Do VirtualBox (este sendo em código fechado) estiver instalado.
Por exemplo, ele implementa um controlador virtual USB 2.0 ou 3.0 e permite-lhe arbitrariamente ligar dispositivos USB em suas máquinas virtuais sem ter que instalar um drivers de dispositivo específico ao host.
Diferente de qualquer outro software de virtualização, o VirtualBox apóia inteiramente o padrão Remote Desktop Protocol (RDP). Uma máquina virtual pode atuar como um servidor RDP, o que lhe permite "executar" a máquina virtual remotamente em alguns serviços que exibem os dados RDP.
Já com o recurso de USB durante RDP, uma máquina virtual que atua como um servidor RDP pode acessar dispositivos USB que estão conectados à RDP cliente. Dessa forma, uma poderosa máquina servidor pode virtualizar um lote de serviços que necessitam dados RDP e dispositivos USB conectados.
Suporte a criptografia de imagens de disco de máquina virtual.
Suporte a boot PXE para placas Intel.
Suporte ao uso de webcam do sistema hospedeiro.