17
Intel Virtualization Technologies Rômulo Fernandes

Intel Virtualization Technologies Rômulo Fernandes

Embed Size (px)

Citation preview

Page 1: Intel Virtualization Technologies Rômulo Fernandes

Intel Virtualization TechnologiesRômulo Fernandes

Page 2: Intel Virtualization Technologies Rômulo Fernandes

Tópicos

Máquinas Virtuais

Hypervisor

Virtual Machine Extensions

Questionário

Bibliografia

Page 3: Intel Virtualization Technologies Rômulo Fernandes

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

Page 4: Intel Virtualization Technologies Rômulo Fernandes

Máquinas Virtuais

Aplicações

Sem Máquinas Virtuais

App App

Hardware

App

OS

Page 5: Intel Virtualization Technologies Rômulo Fernandes

Máquinas Virtuais

Aplicações

Sem Máquinas Virtuais

App

HW

App

HW

App

HW

OS OS OS

Page 6: Intel Virtualization Technologies Rômulo Fernandes

Máquinas Virtuais

Aplicações

Com Máquinas Virtuais

App App App

OS OS OS

Hardware

Hypervisor

Page 7: Intel Virtualization Technologies Rômulo Fernandes

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

Page 8: Intel Virtualization Technologies Rômulo Fernandes

Hypervisor

OS OS OS

Hardware

Hypervisor

App App App

OS OS OS

Hardware

OS

App App App

Hypervisor

Bare-Metal Hospedado

Page 9: Intel Virtualization Technologies Rômulo Fernandes

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)

Page 10: Intel Virtualization Technologies Rômulo Fernandes

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

Page 11: Intel Virtualization Technologies Rômulo Fernandes

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

Page 12: Intel Virtualization Technologies Rômulo Fernandes

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

Page 13: Intel Virtualization Technologies Rômulo Fernandes

Virtual Machine Extensions

Transições de operações

VM Entry

VMX root → VMX non-root

VM Exit

VMX non-root → VMX root

Page 14: Intel Virtualization Technologies Rômulo Fernandes

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.

Page 15: Intel Virtualization Technologies Rômulo Fernandes

Virtual Machine Extensions

Ciclo de vida

Guest 1 Guest 2

HypervisorVMXON VMXOFF

VM

En

try

VM

Exit

VM

En

try

VM

Exit

Page 16: Intel Virtualization Technologies Rômulo Fernandes

PerguntasO 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.

Page 17: Intel Virtualization Technologies Rômulo Fernandes

Bibliografia

IntelIntel® 64 and IA-32 Architectures Software Developer’s Manual

http://www.intel.com/products/processor/manuals/IBM DeveloperWorks

Anatomia de um Hypervisor Linuxhttp://www.ibm.com/developerworks/br/library/l-hypervisor/index.html

WikipediaHypervisor

http://en.wikipedia.org/wiki/HypervisorVirtual Machine

http://en.wikipedia.org/wiki/Virtual_machineKernel-based Virtual Machine

http://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine