Intel Virtualization
Technologies
Rômulo Fernandes
Tópicos
Máquinas Virtuais
Hypervisor
Virtual Machine Extensions
Questionário
Bibliografia
Máquinas Virtuais
"Máquina Virtual é uma duplicata eficiente e isolada
da máquina real" - Popek e Goldberg
“Máquina Virtual é uma cópia isolada e protegida de
um sistema físico” - IBM
Máquinas Virtuais
Aplicações
Sem Máquinas Virtuais
App
App
App
OS
Hardware
Máquinas Virtuais
Aplicações
Sem Máquinas Virtuais
App
App
App
OS
OS
OS
HW
HW
HW
Máquinas Virtuais
Aplicações
Com Máquinas Virtuais
Hypervisor
App
App
App
OS
OS
OS
Hardware
Hypervisor
Também chamado de Virtual Machine Monitor
(VMM)
Mediador entre o Hardware e as máquinas virtuais
Controla a execução das VMs
2 Tipos: Hospedado (Hosted) e Bare-metal
Hypervisor
Bare-Metal
Hospedado
App
App
App
App
App
App
OS
OS
OS
OS
OS
OS
Hypervisor
Hardware
OS
Hypervisor
Hardware
Virtual Machine Extensions
Intel Virtualization Technologies (Intel VT)
VT-x - Extensões da arquitetura IA-32 (x86 / x86-64)
VT-i - Extensões da arquitetura Itanium (IA-64)
VT-d - Extensões para controle de I/O e interrupções
de dispositivos externos.
AMD Virtualization (AMD-V)
Virtual Machine Extensions
Suporte de hardware a execução de VMs
Trás parte do trabalho do Hypervisor pra dentro do
processador
Trabalha alternando estados do processador:
Operações VMX root e VMX non-root
Virtual Machine Extensions
VMX root
Normalmente utilizado pelo Hypervisor
Comportamento parecido com operações normais
Conjunto novo de instruções (Instruções VMX)
Limitações nos registradores de controle
Virtual Machine Extensions
VMX non-root
Normalmente utilizado pelo software hóspede
Comportamento restrito → Facilitar Virtualização
Novas instruções
Instruções modificadas → Repassadas para o VMM
Oculta ambiente virtualizado do hóspede
Processos dos hóspedes são executados com o níveis de
privilégio originais
Virtual Machine Extensions
Transições de operações
VM Entry
VMX root → VMX non-root
VM Exit
VMX non-root → VMX root
Virtual Machine Extensions
Virtual Machine Control Structure (VMCS)
Controla as operações VMX non-root
Controla as transições dos modos operação
Podem existir diferentes VMCSs para cada VM
Um por processador lógico
Possui instruções específicas para ler e alterar os
dados. Ex: VMPTRST, VMPTRLD, VMREAD,
VMWRITE e VMCLEAR.
Virtual Machine Extensions
Ciclo de vida
VMXON
Hypervisor
VM Exit
Guest 2
VM Entry
VM Exit
VM Entry
Guest 1
VMXOFF
Perguntas
O que é um Hypervisor ?
É a camada de software e hardware que controla a execução
das máquinas virtuais e intermedia o acesso ao hardware.
Quais as vantagens da utilização de Virtual Machine
Extensions (VMX) ?
Melhora substancial de performance, pois não há necessidade
de modificar o código executado pela VM, melhora de
segurança pois as VMs ficam completamente isoladas.
Como que se dá o escalonamento de VMs pelo Hypervisor ?
Através de VM Entries e VM Exits.
Bibliografia
Intel
Intel® 64 and IA-32 Architectures Software Developer’s Manual
http://www.intel.com/products/processor/manuals/
IBM DeveloperWorks
Anatomia de um Hypervisor Linux
http://www.ibm.com/developerworks/br/library/l-hypervisor/index.html
Wikipedia
Hypervisor
http://en.wikipedia.org/wiki/Hypervisor
Virtual Machine
http://en.wikipedia.org/wiki/Virtual_machine
Kernel-based Virtual Machine
http://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine
Download

Intel Virtualization Technologies