O documento discute virtualização e emulação no contexto de sistemas de computação. Explica que a virtualização permite rodar múltiplos sistemas operacionais em um único servidor físico, enquanto a emulação simula plataformas de hardware em software. Também destaca os benefícios da virtualização como economia de recursos, flexibilidade e redução de custos.
Boas práticas de programação com Object Calisthenics
E essa tal Virtualização?
1.
2. 2
O que diz o DICIONÁRIO?
Prof. Fabio Alexandre Spanhol, M.Sc.
3. Em TI
◦ Virtualização é simulação em software de um hardware/software não
disponível
◦ Virtualização é a capacidade de se executar simultaneamente, mais
de um SO em um único servidor físico
Servidor Físico
SO #1 SO #2 SO #3 SO #4
Prof. Fabio Alexandre Spanhol, M.Sc.
3
4. Servidor Físico
Isso é possível em função da utilização de um
Hypervisor, responsável por fornecer ao SO “guest”,
a abstração da máquina real
...SO #1 SO #2 SO #3 SO #4
Hypervisor
(processador, memória, disco, rede)
Prof. Fabio Alexandre Spanhol, M.Sc.
4
5. Todo lugar!
◦ Desenvolvedores utilizam para testar seu
software em diferentes SO
◦ Profissionais de TI usam para testar
diferentes configurações
◦ Empresas utilizam para rodar TODA a
infraestrutura de TI
◦ Universidades usam em seus laboratórios
◦ Brevemente seu computador/telefone será
virtualizado...
Prof. Fabio Alexandre Spanhol, M.Sc.
5
6. 6
Fortune Magazine
◦ 100% das top100
◦ 96% das top1000
◦ 95% das top 500 Global
Usam Virtualização!
Prof. Fabio Alexandre Spanhol, M.Sc.
7. Prof. Fabio Alexandre Spanhol, M.Sc.
7
Emulador
◦ é o oposto da máquina real
Implementa todas as instruções
realizadas pela máquina real em um
ambiente abstrato de software
“Engana”, fazendo com que todas as
operações da máquina real sejam
implementadas em um software
Interpreta um código desenvolvido para
outra plataforma
8. Emulador
◦ Primeiro criado por Larry Moss (IBM, 1964)
para rodar programas do 7070 no
System/360
Prof. Fabio Alexandre Spanhol, M.Sc.
8
9. Prof. Fabio Alexandre Spanhol, M.Sc.
9
Emulador
◦ Popularizou-se com a Internet e a
emulação de video games
Plataformas antigas
Atari, SNES, PS1, etc.
◦ Também aplicado para
Executarsoftware legado
Cross-compiling
10. Open Source 68k Macintosh Emulator
Prof. Fabio Alexandre Spanhol, M.Sc.
10
11. Até 2008 a Emulators Inc. vendia
emuladores MAC para rodar no Windows
◦ Rodar aplicativos Mac (até 8.1) no PC
Prof. Fabio Alexandre Spanhol, M.Sc.
11
14. Microsoft
◦ XBOX 360 emula XBOX
Sony
◦ PS3 emula PS1
Nintendo
◦ Wii Virtual Console emula NES, Super Nintendo,
Mega Drive, Neo-Geo, PC Engine e Nintendo 64
Prof. Fabio Alexandre Spanhol, M.Sc.
14
15. Prof. Fabio Alexandre Spanhol, M.Sc.
15
Hypervisor
◦ VMM - Virtual Machine Monitor
Fornece uma interface (através da
multiplexação do hardware) que é idêntica
ao hardware subjacente e controla uma ou
mais máquinas virtuais
Pode ser implementado entre o hardware
e o SO hospedeiro ou como um processo
do SO hospedeiro
16. Mais utilizadas
◦ VMware
◦ Citrix
◦ Microsoft
◦ Xen
◦ KVM
◦ z/VM
Prof. Fabio Alexandre Spanhol, M.Sc.
16
17. Prof. Fabio Alexandre Spanhol, M.Sc.
17
Virtualização Total (Full Virtualization)
◦ Hardware completo virtualizado
◦ Compatibilidade total
◦ Perda de desempenho
Paravirtualização (Paravirtualization)
◦ SO virtualizado deve ser alterado
◦ Perda de compatibilidade
◦ Desempenho melhorado
18. Simulação completa do hardware
subjacente oferecida aos SO
◦ Conjunto de instruções
◦ Operações de I/O
◦ Acesso à memória
◦ Interrupções
◦ Etc.
Todo software que roda no hardware real
roda no hardware virtualizado
SO não “sabe” que está virtualizado
Prof. Fabio Alexandre Spanhol, M.Sc.
18
19. Prof. Fabio Alexandre Spanhol, M.Sc.
19
Necessita hardware e software adequados
◦ Na plataforma x86 até 2006/2007 não havia
suporte nativo
◦ Extensões nos processadores
AMD-V
Intel VT-x
◦ Tradução binária
Instruções críticas são descobertas (estaticamente ou
em run-time) e substituídas com traps para a VMM
emulada em software
◦ VMWare, MS-Virtual PC, Sun VirtualBox
20. Execução direta x Tradução Binária
◦ Hypervisor traduz on the fly as chamadas do SO
Permite execução direta para melhorar performance
Prof. Fabio Alexandre Spanhol, M.Sc.
20
21. Apresenta uma abstração de máquina
virtual que é similar, mas não idêntica ao
hardware subjacente
◦ Necessita modificações no SO convidado
SO “sabe” que está rodando sob um hypervisor
◦ Nenhuma alteração na Application Binary Interface
(ABI)
Aplicações não precisam ser alteradas
Prof. Fabio Alexandre Spanhol, M.Sc.
21
22. Xen Hypervisor
◦ •
Domain 0
◦ Domínio privilegiado (Dom0)
Convidado rodando no hypervisor com acesso direto
ao hardware e responsabilidades de gerenciamento
Multiple DomainU
◦ Não privilegiados (DomU)
Convidados não privilegiados rodando no hypervisor
Sem acesso direto ao hardware (memória, discos, etc.)
Prof. Fabio Alexandre Spanhol, M.Sc.
22
23. Prof. Fabio Alexandre Spanhol, M.Sc.
23
DomUs
◦ SO modificado (paravirtualização)
◦ SO não-modificado
Depende da virtualização do hardware (Intel VT e
AMD-V) chamado Hardware Virtual Machine (HVM)
MS Windows precisa de um ambiente HVM
24. Prof. Fabio Alexandre Spanhol, M.Sc.
24
Kernel-based Virtual Machine
◦ Primeiramente surgiu no kernel Linux 2.6.20
(Fev/2007)
◦ Melhor performance
◦ Suporta virtualização nativa x86
◦ Não faz emulação por si só
Fornece interface em /dev/kvm para programas
rodando em user-space criarem VM
Ex.: QEmu
25. Prof. Fabio Alexandre Spanhol, M.Sc.
25
Particionamento
◦ Múltiplas aplicações e SO podem ser executados em
um único sistema físico
◦ Servidores podem ser consolidados em máquinas
virtuais, escalando arquiteturas
◦ Recursos computacionais são tratados em uma
política uniforme para que sejam alocadas
máquinas virtuais de maneira controlada
26. Prof. Fabio Alexandre Spanhol, M.Sc.
26
Isolamento
◦ MV são completamente isoladas da máquina
hospedeira e de outras máquinas virtuais
Se uma MV tem problemas, as outras não são afetadas
◦ Dados não vazam entre máquinas virtuais
aplicativos comunicam-se apenas por conexões de
rede configuradas
27. Prof. Fabio Alexandre Spanhol, M.Sc.
27
Encapsulamento
◦ Um ambiente completo de uma MV em execução é
salvo em um simples arquivo
fácil fazer backup,
Mover/copiado
◦ Padronização de hardware virtualizado é fornecida
para a aplicação
Garantia de compatibilidade
28. Prof. Fabio Alexandre Spanhol, M.Sc.
28
Economia!
◦ TI verde
Pressões por responsabilidade ambiental
Economia de recursos (incluindo
energéticos)
29. Prof. Fabio Alexandre Spanhol, M.Sc.
29
TI tem emissão de Carbono
equivalente ao setor aéreo
◦ E a emissão continua subindo
vertiginosamente
Durante seu ciclo de vida, um PC típico
consome 10 vezes seu próprio peso
em combustíveis fósseis
80% na sua produção e transporte
◦ TI é responsável por 2% de todas as
emissões anuais de CO2 na
atmosfera
30. Transmissão
perde 35
100 unidades de
energia na
matéria-prima
33
unidades
entregues
Data Center
Ar Condicionado, Nobreak, etc.
Servidores
Processador
30%
70%
Fontes, Ventiladores, Discos, Memória, etc.
TI
45%55%
Desempenho e
capacidade por
Watt.
Cargas do Servidor
Taxas Típicas de Uso
x86: 5 – 12%
Unix/Risc: 10 – 20%
Mainframe: 80 – 100%
Recursos
até 95%
inativos
(idle)
Usando
só 5 a 20% da capacidade!!!
Prof. Fabio Alexandre Spanhol, M.Sc.
30
Geração perde 32
31. Prof. Fabio Alexandre Spanhol, M.Sc.
31
Flexibilidade e agilidade para
criação/manutenção de ambientes
Facilidade na administração/gerenciamento de
ambientes de testes ou produção
Diminuição de custos com TI
(hardware/software)
Diminuição de custos com energia elétrica
Diminuição do lixo tecnológico