Intel Virtualization Technology Rômulo Fernandes
Tópicos Máquinas Virtuais Hypervisor Virtual Machine Extensions 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 AppAppAppApp HardwareHardware AppApp OSOS
Máquinas Virtuais Aplicações Sem Máquinas Virtuais AppApp HWHW AppApp HWHW AppApp HWHW OSOSOSOSOSOS
Máquinas Virtuais Aplicações Com Máquinas Virtuais AppAppAppAppAppApp OSOSOSOSOSOS HardwareHardware Hypervisor
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 OSOSOSOSOSOS HardwareHardware HypervisorHypervisor AppAppAppAppAppApp OSOSOSOSOSOS HardwareHardware OS OS AppAppAppAppAppApp HypervisorHypervisor Bare-MetalHospedado
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 Guest 1 Guest 1 Guest 2 Guest 2 Hypervisor HypervisorVMXONVMXOFF VM Entry VM Exit VM Entry VM Exit
Bibliografia Intel Intel® 64 and IA-32 Architectures Software Developer’s Manual IBM DeveloperWorks Anatomia de um Hypervisor Linux hypervisor/index.html WikipediaHypervisorhttp://en.wikipedia.org/wiki/Hypervisor Virtual Machine Kernel-based Virtual Machine