Virtualização - PowerPoint PPT Presentation

debra
virtualiza o n.
Skip this Video
Loading SlideShow in 5 Seconds..
Virtualização PowerPoint Presentation
Download Presentation
Virtualização

play fullscreen
1 / 24
Download Presentation
Virtualização
97 Views
Download Presentation

Virtualização

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Virtualização André Luis Loureiro de Carvalho Eduardo Lourenço Apolinário Fernando Henrique Calheiros Lopes Francisco Carvalho Felipe Leal Vítor Teixeira Costa

  2. Agenda • Intro/História... • .... • ...

  3. André

  4. Por que virtualizar? • Consolidação de servidores • Menor TCO Diminuição do # de computadores Diminuição dos custos com HW e manutenção!

  5. Por que virtualizar? • Consolidação de aplicações • Virtualizando hardware necessário para aplicações legadas • Sandboxing • VMs são ambientes seguros e isolados para rodar aplicações de terceiros ou pouco confiáveis

  6. Por que virtualizar? • Múltiplos ambientes de execução • Aumento de QoS através de garantia de quantidade específicas de recursos • Hardware virtual • Uma VM pode fornecer hardware que não existe fisicamente (ex: SCSI) • Múltiplos SOs simultâneos • Linux, FreeBSD, Windows, etc, rodando ao mesmo tempo em uma máquina

  7. Por que virtualizar? • Debugging • Possibilita debugar sistemas operacionais e device drivers • Migração de software • Facilita a migração de software entre máquinas

  8. Por que virtualizar? • Appliances • Permite o empacotamento de aplicação junto com o sistema operacional • Teste/QA • Permite a criação de cenários de teste difíceis de reproduzir

  9. Atributos • Compatibilidade de Software • Isolamento • Encapsulamento • Performance

  10. Compatibilidade de SW • Abstração compatível! • HW-Level: SOs e demais softwares • SW-Level: Aplicações • Language-Level: Programas na linguagem

  11. Isolamento • Ambiente isolado • Contensão contra bugs e hackers (debugging - sandboxing!) • Mascaramento das camadas subjacentes “write once, run anywhere!”

  12. Encapsulamento • Controle do SW virtualizador pelo SW subjacente Melhor ambiente de execução!

  13. Encapsulamento • Máquinas virtuais de linguagens de alto nível: • Runtime checks • Gerenciamento de memória • Garbage collection • ... Ambiente de programação filé!

  14. Performance • Camadas extras de abstração... ... overhead extra na execução  • Máquinas virtuais bem sucedidas valem à pena!

  15. Requisitos para Máquinas Virtuais • Popek e Goldberg (1974) • “For any computer a virtual machine monitor may be constructed if the set of sensitive instructions for that computer is a subset of the set of privileged instructions.” • Em outras palavras...

  16. Requisitos para Máquinas Virtuais • Três características essenciais (Popek e Goldberg): • Execução idêntica • Exceção: timing • Subconjunto estatisticamente dominante de instruções são executadas pelo processador real • A VMM tem controle total

  17. Virtualizando IA-32 • Não atende ao primeiro requisito de Popek e Goldberg: • 17 instruções que deveriam gerar trap não geram • Grande quantidade de devices e drivers

  18. Virtualizando IA-32 • Instruções problemáticas: • SGDT, SIDT, SLDT • Contém endereço linear de suas respectivas tabelas • SMSW • Armazena o valor da machine status word • PUSHF, POPF • Atualizar o registrador EFLAGS

  19. Virtualizando IA-32 • Instruções problemáticas: • LAR, LSL, VERR, VERW • Permitem verificar direitos de acesso de registradores de segmento e se um segmento pode ser lido/escrita no CPL atual • PUSH • Permitiria que o valor do registrador CS (que contém o CPL) seja examinado • POP • Não pode ser usada para carregar um novo valor no registrador CS

  20. Virtualizando IA-32 • Instruções problemáticas • CALL, JMP, INT n, RET • Calls e jumps pra segmentos com diferente nível de prioridade • STR • Permite a verificação do RPL do atual Task Segment Selector • MOVE • Permite a verificar o CPL dos registratores CS e SS

  21. Virtualizando IA-32 • Procedimentos para virtualizar IA-32 (Robin e Irvine): • Instruções não-sensíveis e não-privilegiadas podem ser rodadas diretamente no processador • Instruções sensíveis e privilegiadas geram trap • Instruções sensíveis e não privilegiadas devem ser detectadas

  22. Hosted Architecture

  23. Hypervisor Architecture

  24. Resto (sei lah como vai ser essa porra)