Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouBranca Flor Barreiro Porto Alterado mais de 8 anos atrás
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)
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.