Escolar Documentos
Profissional Documentos
Cultura Documentos
Mario Hato
Instituto de Computação
UNICAMP
VirtualBox 1
IC
Motivação
X86 X86
X86 X86
Windows Windows
Suse Red Hat
XP 2003
VirtualBox 2
IC
Desafios
• Baixa utilização da Infraestrutura
• Solução: Virtualização
VirtualBox 3
IC
Sistema Virtualizado
VirtualBox 4
IC
Porque a virtualização é útil?
• Consolidação de Infraestrutura
VirtualBox 5
IC
Evolução da Virtualização
Virtual
Machine
… Machine
Virtual
VM … VM
Dynamic Translation Virtual
Machine
… Machine
Virtual
Time
Virtualization Logic
VirtualBox 6
IC
VirtualBox
VirtualBox 7
IC
VirtualBox
• Guest Additions
– Pastas compartilhadas
– Seamless windows
– Virtualização 3D
• Grande suporte de hardware
– Guest multiprocessing (SMP)
– Suporte a dispositivos USB
– Compatibilidade de Hardware
VirtualBox 8
IC
VirtualBox
• Suporte em hardware(cont.)
– Suporte ACPI total
– Múltiplas resoluções de tela
– Suporte a iSCSI embutido
– Boot em rede (PXE)
• Snapshots
• Extremamente Modular
• Acesso remoto (VRDE → RDP)
VirtualBox 9
IC
Plataformas Host e Guest
VirtualBox 10
IC
História
• Innotek – Jan-2007
• Sun – Fev-2008
• Oracle – Jan-2010
VirtualBox 11
IC
Arquitetura
VirtualBox 12
IC
Camada de Gerenciamento
• Web Service
– Fácil de usar
– Acesso remoto
– Overhead no empacotamento do XML
• Component Object Model
COM/XPCOM
– Restrito a algumas linguagens
– Cliente deve ser executado no mesmo
Sistema do Host
– Baixo overhead
VirtualBox 13
IC
Componentes
VirtualBox 14
IC
Componentes
VirtualBox 15
IC
Virtualização
VirtualBox 16
IC
Virtualização em Software
• Tarefa complexa
• Desempenho reduzido
• Emulação completa ou Paravirtualização
• VVM roda em Ring0
• SO Guest roda em Ring1
• App Guest roda em Ring3
VirtualBox 17
IC
Virtualização em Software
VirtualBox 18
IC
Virtualização em Software
• Em tempo de execução
VirtualBox 19
IC
Virtualização em Software
• Utilizado em muitos cenários
VirtualBox 20
IC
Virtualização em Hardware
• Intel VT-x
– VMX modo root
• Funcionamento antigo
• 4 Rings
– VMX modo não root
• Execução do sistema Guest
• Virtual Machine Control Structure –
VMCS
– VM Entry e VM Exit
VirtualBox 21
IC
Virtualização em Hardware
• AMD-V
– Ambiente de virtualização mais
completo
– VT-x requer paginação habilitada
• Impede código em modo real e software
em modo protegido não paginado
• Firmware e SO loader
• Não complica a implementação do VMM
• Overhead ainda relativamente alto
VirtualBox 22
IC
Virtualização em Hardware
• Nested Paging
– AMD → Rapid Virtualization Indexing
RVI
• Barcelona (K10)
– Intel → Extended Page Tables EPT
• Corei7 (Nehalem)
– Tradução para endereços “guest
physical” primeiro.
• Intel VPIDs → Acelera a troca de
contexto, reduz o flush da TLB
VirtualBox 23
IC
Memory Overcommitment
• 2 técnicas implementadas:
– Memory balloning
– Page Fusion
VirtualBox 24
IC
Memory Ballooning
VirtualBox 25
IC
Memory Ballooning
VirtualBox 26
IC
Page Fusion
VirtualBox 27
IC
Page Fusion
• Abordagem tradicional
– Page sharing ou Same Page Merging
– (CheckSums) → Alto consumo de CPU
e overhead de 10-20%
• Utiliza a lógica do VirtualBox Guest
Additions
• Somente em hosts de 64 bits com
Windows guests.
VirtualBox 28
IC
VirtualBox
Obrigado!
Dúvidas?
VirtualBox 29
IC
Referências
• https://www.virtualbox.org/wiki/Documen
tation
– Manual do usuário
– SDK
• http://www.dc.uba.ar/events/eci/2008/co
urses/n2/Virtualization-Introduction.ppt
• https://blogs.oracle.com/matheus/entry/d
iscutindo_virtualização_parte_1
VirtualBox 30
IC