intel virtualization technology rômulo fernandes

15
Intel Virtualization Intel Virtualization Technology Technology Rômulo Fernandes Rômulo Fernandes

Upload: internet

Post on 21-Apr-2015

118 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Intel Virtualization Technology Rômulo Fernandes

Intel Virtualization Intel Virtualization TechnologyTechnologyRômulo FernandesRômulo Fernandes

Page 2: Intel Virtualization Technology Rômulo Fernandes

TópicosTópicos

Máquinas VirtuaisMáquinas Virtuais

HypervisorHypervisor

Virtual Machine ExtensionsVirtual Machine Extensions

BibliografiaBibliografia

Page 3: Intel Virtualization Technology Rômulo Fernandes

Máquinas VirtuaisMáquinas Virtuais

"Máquina Virtual é uma duplicata eficiente e "Máquina Virtual é uma duplicata eficiente e isolada da máquina real" - Popek e Goldbergisolada da máquina real" - Popek e Goldberg

““Máquina Virtual é uma cópia isolada e Máquina Virtual é uma cópia isolada e protegida de um sistema físico” - IBMprotegida de um sistema físico” - IBM

Page 4: Intel Virtualization Technology Rômulo Fernandes

Máquinas VirtuaisMáquinas Virtuais

AplicaçõesAplicações

Sem Máquinas VirtuaisSem Máquinas Virtuais

AppAppAppApp AppAppAppApp

HardwareHardwareHardwareHardware

AppAppAppApp

OSOSOSOS

Page 5: Intel Virtualization Technology Rômulo Fernandes

Máquinas VirtuaisMáquinas Virtuais

AplicaçõesAplicações

Sem Máquinas VirtuaisSem Máquinas Virtuais

AppAppAppApp

HWHWHWHW

AppAppAppApp

HWHWHWHW

AppAppAppApp

HWHWHWHW

OSOSOSOS OSOSOSOS OSOSOSOS

Page 6: Intel Virtualization Technology Rômulo Fernandes

Máquinas VirtuaisMáquinas Virtuais

AplicaçõesAplicações

Com Máquinas VirtuaisCom Máquinas Virtuais

AppAppAppApp AppAppAppApp AppAppAppApp

OSOSOSOS OSOSOSOS OSOSOSOS

HardwareHardwareHardwareHardware

HypervisHypervisoror

Page 7: Intel Virtualization Technology Rômulo Fernandes

HypervisorHypervisor

Também chamado de Também chamado de Virtual Machine Virtual Machine MonitorMonitor (VMM) (VMM)

Mediador entre o Hardware e as máquinas Mediador entre o Hardware e as máquinas virtuaisvirtuais

Controla a execução das VMsControla a execução das VMs

2 Tipos: Hospedado (2 Tipos: Hospedado (HostedHosted) e ) e Bare-metalBare-metal

Page 8: Intel Virtualization Technology Rômulo Fernandes

HypervisorHypervisor

OSOSOSOS OSOSOSOS OSOSOSOS

HardwareHardwareHardwareHardware

HypervisorHypervisorHypervisorHypervisor

AppAppAppApp AppAppAppApp AppAppAppApp

OSOSOSOS OSOSOSOS OSOSOSOS

HardwareHardwareHardwareHardware

OSOS OSOS

AppAppAppApp AppAppAppApp AppAppAppApp

HypervisorHypervisorHypervisorHypervisor

Bare-MetalBare-Metal HospedadoHospedado

Page 9: Intel Virtualization Technology Rômulo Fernandes

Virtual Machine Virtual Machine ExtensionsExtensions

Suporte de hardware a execução de VMsSuporte de hardware a execução de VMs

Trás parte do trabalho do Hypervisor pra Trás parte do trabalho do Hypervisor pra dentro do processadordentro do processador

Trabalha alternando estados do processador: Trabalha alternando estados do processador: Operações Operações VMX rootVMX root e e VMX non-rootVMX non-root

Page 10: Intel Virtualization Technology Rômulo Fernandes

Virtual Machine Virtual Machine ExtensionsExtensions

VMX rootVMX root

Normalmente utilizado pelo HypervisorNormalmente utilizado pelo Hypervisor

Comportamento parecido com operações Comportamento parecido com operações normaisnormais

Conjunto novo de instruções (Instruções Conjunto novo de instruções (Instruções VMX)VMX)

Limitações nos registradores de controleLimitações nos registradores de controle

Page 11: Intel Virtualization Technology Rômulo Fernandes

Virtual Machine Virtual Machine ExtensionsExtensions

VMX non-rootVMX non-root

Normalmente utilizado pelo software hóspedeNormalmente utilizado pelo software hóspede

Comportamento restrito ➔ Facilitar VirtualizaçãoComportamento restrito ➔ Facilitar Virtualização

Novas instruçõesNovas instruções

Instruções modificadas ➔ Repassadas para o Instruções modificadas ➔ Repassadas para o VMMVMM

Oculta ambiente virtualizado do hóspedeOculta ambiente virtualizado do hóspede

Processos dos hóspedes são executados com o Processos dos hóspedes são executados com o níveis de privilégio originaisníveis de privilégio originais

Page 12: Intel Virtualization Technology Rômulo Fernandes

Virtual Machine Virtual Machine ExtensionsExtensions

Transições de operaçõesTransições de operações

VM EntryVM Entry

VMX root ➔ VMX non-rootVMX root ➔ VMX non-root

VM ExitVM Exit

VMX non-root ➔ VMX rootVMX non-root ➔ VMX root

Page 13: Intel Virtualization Technology Rômulo Fernandes

Virtual Machine Virtual Machine ExtensionsExtensions

Virtual Machine Control StructureVirtual Machine Control Structure (VMCS) (VMCS)

Controla as operações VMX non-rootControla as operações VMX non-root

Controla as transições dos modos operaçãoControla as transições dos modos operação

Podem existir diferentes VMCSs para cada Podem existir diferentes VMCSs para cada VMVM

Um por processador lógicoUm por processador lógico

Possui instruções específicas para ler e Possui instruções específicas para ler e alterar os dados. Ex: VMPTRST, VMPTRLD, alterar os dados. Ex: VMPTRST, VMPTRLD, VMREAD, VMWRITE e VMCLEAR.VMREAD, VMWRITE e VMCLEAR.

Page 14: Intel Virtualization Technology Rômulo Fernandes

Virtual Machine Virtual Machine ExtensionsExtensions

Ciclo de vidaCiclo de vida

Guest 1Guest 1Guest 1Guest 1 Guest 2Guest 2Guest 2Guest 2

HypervisorHypervisorHypervisorHypervisorVMXONVMXON VMXOFFVMXOFF

VM

En

try

VM

En

try

VM

Exit

VM

Exit

VM

En

try

VM

En

try

VM

Exit

VM

Exit

Page 15: Intel Virtualization Technology Rômulo Fernandes

BibliografiaBibliografiaIntelIntel

Intel® 64 and IA-32 Architectures Software Developer’s Intel® 64 and IA-32 Architectures Software Developer’s ManualManual

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

IBM DeveloperWorksIBM DeveloperWorks

Anatomia de um Hypervisor LinuxAnatomia de um Hypervisor Linux

http://www.ibm.com/developerworks/br/library/l-hypervisor/http://www.ibm.com/developerworks/br/library/l-hypervisor/index.htmlindex.html

WikipediaWikipedia

HypervisorHypervisor

http://en.wikipedia.org/wiki/Hypervisorhttp://en.wikipedia.org/wiki/Hypervisor

Virtual MachineVirtual Machine

http://en.wikipedia.org/wiki/Virtual_machinehttp://en.wikipedia.org/wiki/Virtual_machine

Kernel-based Virtual MachineKernel-based Virtual Machine

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