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 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 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 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/lhypervisor/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