O VirtualBox funciona criando uma máquina virtual (VM) na parte superior do seu sistema operacional host (o sistema operacional que você está usando atualmente, como Windows, MacOS ou Linux). Esta VM age como um computador completamente separado, com seu próprio hardware virtual (CPU, memória, disco rígido, adaptador de rede etc.) e um sistema operacional convidado instalado nele. Aqui está um colapso do processo:
1. Virtualização: *
Camada de abstração de hardware (HAL): A função principal do VirtualBox é o seu HAL. Essa camada fica entre o sistema operacional convidado e o hardware real do host. Ele intercepta solicitações do sistema operacional convidado para recursos de hardware e os traduz em solicitações compreensíveis pelo hardware do host. Isso permite que o sistema operacional convidado acredite ter acesso direto ao hardware, mesmo que esteja interagindo com uma versão virtualizada.
*
Hypervisor: O hipervisor é o núcleo do processo de virtualização. Ele gerencia os recursos alocados para cada VM e garante que eles não interfiram entre si ou com o sistema operacional host. É responsável pelo agendamento do tempo da CPU, gerenciando a memória, manipulando solicitações de E/S e garantindo a integridade do ambiente virtualizado. O VirtualBox usa um hipervisor tipo 2, o que significa que ele é executado * na parte superior * do sistema operacional host, diferentemente dos hipervisores do tipo 1 (como o VMware ESXi ou Hyper-V) que são executados diretamente no hardware.
2. Gerenciamento de recursos: *
CPU: O VirtualBox aloca uma parte dos núcleos da CPU do seu host para a VM. O hypervisor compartilha o tempo da CPU entre o host e o sistema operacional convidado, dando a cada um de sua parte justa. O número de núcleos alocados determina o poder de processamento da VM.
*
memória (RAM): Da mesma forma, você atribui uma quantidade específica da RAM do seu host à VM. Essa memória é usada exclusivamente pelo sistema operacional convidado e seus aplicativos.
*
armazenamento: A VM usa discos rígidos virtuais (VDI, VMDK, VHD, etc.), que são arquivos no disco rígido do seu host. Esses arquivos simulam um disco rígido físico para o sistema operacional convidado, armazenando seu sistema operacional, aplicativos e dados.
*
Rede: O VirtualBox fornece adaptadores de rede virtual para a VM, permitindo que ele se conecte à Internet e a outras redes. Isso pode ser feito por meio de redes em ponte (a VM recebe seu próprio endereço IP em sua rede), NAT Networking (a VM compartilha a conexão com a Internet do host) ou a rede somente de host (a VM pode se comunicar apenas com o host e outras VMs usando a mesma rede somente host).
3. Interação do sistema operacional convidado: *
Drivers: O VirtualBox fornece drivers para o hardware virtual (rede, armazenamento etc.) que permitem que o sistema operacional convidado funcione corretamente no ambiente virtual. Esses motoristas atuam como uma interface entre o sistema operacional convidado e o hipervisor.
*
gráficos: O VirtualBox usa um adaptador gráfico virtual, normalmente emulando uma placa gráfica padrão. Isso fornece saída visual para a tela do host. O desempenho dos gráficos pode variar dependendo do tipo e dos recursos do sistema host e do convidado, bem como da configuração da placa gráfica virtual.
4. Interface do usuário: * O VirtualBox fornece uma interface gráfica do usuário (GUI), permitindo que os usuários criem, gerenciem e interajam com as VMs. Isso inclui a criação de novas VMs, a definição de suas configurações, a partida, a parada e a suspender de VMs e o gerenciamento de seu armazenamento.
Em essência, o VirtualBox cria um ambiente altamente controlado e isolado para a execução de outros sistemas operacionais, permitindo que os usuários experimentem diferentes sistemas operacionais, executem aplicativos em um ambiente seguro e testem o software sem afetar o sistema de host. Ele realiza isso através do gerenciamento inteligente de recursos de hardware e técnicas de virtualização.