Sistemas Operacionais II Ł a - UFRGSasc/sisop_II/pdf/aula25.pdf · c a - UFRGS Sistemas...
Transcript of Sistemas Operacionais II Ł a - UFRGSasc/sisop_II/pdf/aula25.pdf · c a - UFRGS Sistemas...
ca -
UFR
GS Sistemas Operacionais II
Virtualização
Inst
ituto
de
Info
rmát
ic
Aula 25
Cronograma:�23/06: feriado de Corpus Christi�28/06: não haverá aula cf. cronograma da disciplina�30/06: não haverá aula cf. cronograma da disciplina�05/07: prova 2 (via moodle, aula 17 a aula 25 inclusive)�07/07: aula sobre cloud computing�12/07: revisão nota trabalhos com demonstração prática�14/07: prova de recuperação (toda a matéria)
Introdução
� Motivação� Ociosidade de recursos� Economia de energia� Heterogeneidade� Segurança
Inst
ituto
de
Info
rmát
ica
-UFR
GS
g ç� Virtualização é um conceito que endereça muitos desses
problemas� Base para a implementação de vários serviços distribuídos
como, por exemplo, cluster por demanda e computação em nuvem
Sistemas Operacionais II 2
A. C
aris
sim
i -21
-jun-
11
O que é virtualização?
Metodologia para dividir recursos de um computador em múltiplos ambientes de execução usando várias técnicas
!Particionamento de hardware e software!Compartilhamento de tempo!Simulação completa ou parcial da máquina (modelo)
Inst
ituto
de
Info
rmát
ica
-UFR
GS
3
!Simulação completa ou parcial da máquina (modelo)!Emulação (comportamento) A. Singh, 2008
p
� Pragmaticamente:� Técnica que permite particionar um único sistema
computacional em vários outros sistemas totalmente separados
� É um ambiente que estende/substitui uma interface existente por outra
...mas virtualização não é só isso!!
Segundo, Enterprise Management Association (EMA), “Virtualização é a técnica que ‘mascara’ as características físicas de um recurso computacional, dos sistemas, aplicações ou usuários.”
D d (XML) Cl tIn
stitu
to d
e In
form
átic
a -U
FRG
S4
Discos virtuais
Dados (XML)
Middlewares
Clusters
Grades computacionais
web...entre outros
Redes
Fundamentação teórica
� Problema: complexidade do sistema computacional� Variedade e heterogeneidade dos componentes� Interação entre software e hardware
� Abordagem clássica: uso de níveis de abstração e interfaces
Inst
ituto
de
Info
rmát
ica
-UFR
GS
5
Componente = sistema independente
� Interfaces� Serviços
Dividir para conquistar
� Exemplos:� Assembly
Bibli
Abstração+
InterfaceCamada n+1
Inst
ituto
de
Info
rmát
ica
-UFR
GS
6
� Bibliotecas� Linguagens alto nível� MR-OSI� etc
Camada n
Camada n-1
* SPQR: Senatus Populusque Romanus. ( O Senado e o Povo Romano)
Exemplos: abstração e interfacescilindro
trilha
setorBraçomóvel
Cabeçoter/w
eixo
IBM Model DKLA 24320Assembly + modos de endereçamento
Inst
ituto
de
Info
rmát
ica
-UFR
GS
7
IBM Model DKLA-243208944 cilindros15 cabeçotes
63 setores por trilha
Gerência de diretório
Núcleo sistema arquivos
Organização de dispositivos
Nome simbólico Interface sistema de arquivos
Interface subsistemade E/S
Identificadornumérico
Internet
Isomorfismo
Ei Ej
e (Ei)Sistema A
V(Ei) V(Ej)
Inst
ituto
de
Info
rmát
ica
-UFR
GS
8Ei
’ Ej’
e’(E’j)Sistema B
Função de virtualização V
Isomorfismo é a transformação do estado de um sistema A em um estado equivalente em um sistema B.
Abstração x virtualização
Enquanto a abstração esconde detalhes internos de um componente, a virtualização os apresenta ao exterior de uma forma diferente da
real. [Smith, Nair 2005]
Processousuário Partição A
Blocos, i-nodes, etc
Inst
ituto
de
Info
rmát
ica
-UFR
GS
9
open, read, write, close
disco físico
Sistema de arquivos = diretório + arquivos
Partição APartição B
Partição = disco virtual
Camadas de abstração e interfaces
Bibliotecas
Aplicação
User ISA
softw
are
Inst
ituto
de
Info
rmát
ica
-UFR
GS
10
Processador
Sistema Operacional2 1 1
MMUBarramento4
3
5E/S RAM
System ISA
6 7
Instruction Set Architecture - ISA
hard
ware
Arquitetura de computadores
� Instruction Set Architecture (ISA)� Interface limítrofe entre o nível de abstração de hardware e o de
software
SoftwareSystem
Inst
ituto
de
Info
rmát
ica
-UFR
GS
� Retratam (pelo menos) dois modos de operação da CPU� Privilegiado → System ISA� Não privilegiado → User ISA
11
Hardware
ISA User ISASystem
ISA
Interface Binária da Aplicação
Chamadas de sistema
Bibliotecas
Interface aplicativa(API)
Aplicação
ABI
Aplicação
Inst
ituto
de
Info
rmát
ica
-UFR
GS
12
Application BinaryInterface (ABI) = Chamadas de sistema
(system calls)Instruções não
privilegiadas (user ISA)
+
System ISA
Processador
User ISA
Sistema Operacional
Virtualização: máquinas virtuais
� Consiste em estender ou substituir um recurso, ou interface, por um outro de modo a imitar um comportamento
� Objetivos comuns: compatibilidade, isolamento e desempenho
Partições lógicas
Máquinaabstrata
Inst
ituto
de
Info
rmát
ica
-UFR
GS
13
Hardware
Sistema operacional
Hardware Hardware
Sistema operacional
...
Nível de hardware Nível de sistema operacional
Nível de linguagem
... ...
Hardware abstrato
Partições lógicas
Máquinas virtuais
� Duas perspectivas diferentes:� Processo
" Máquina virtual de processo (runtime)� Sistema operacional
" Máquina virtual de sistema ( hipervisor ou monitor de máquina virtual)
Inst
ituto
de
Info
rmát
ica
-UFR
GS
q ( p q )
14
Hardware
Aplicação
Sistema Operacional
Máquina virtual
Hosp
edeir
o
Hósp
ede� Conceitos
� Sistema hóspede: processo ou sistema operacional que executa sobre uma máquina virtual
� Sistema hospedeiro: plataforma subjacente onde a máquina virtual executa
Máquina virtual de processo
� Ambiente de execução para uma única aplicação� Característica:
� Criada sob demanda� Existe apenas quando o processo executa� Baseada na ABI real para oferecer uma ABI virtual
Inst
ituto
de
Info
rmát
ica
-UFR
GS
p
15
Hardware (cpu, disco, rede, etc)
Aplicação
Sistema Operacional
Máquina virtual
Hosp
edeir
o
Hósp
ede
Máquina virtual
Aplicação
Máquina virtual de sistema
� Ambiente de execução completo onde podem coexistir sistemas operacionais e aplicações
� Dois tipos básicos:Máquina virtual
Inst
ituto
de
Info
rmát
ica
-UFR
GS
16
(b) Hipervisor Tipo II (hóspede)
Hardware (cpu,RAM, disco,rede,etc)
Sistema Operacional (nativo)
Aplicação
SO1
Aplicação
SOn
...
Hardware
Hipervisor (VMM)
(a) Hipervisor Tipo I (nativo)
Aplicação
SO1
Aplicação
SOn
... Hóspede
Hospedeiro
O quê virtualizar?
� Duas opções:� System call + User ISA
" Ex.: VMware Fusion → ambiente windows para MacOS X� System call
" Ex.: VMware Player, VirtualBox, Virtual PC...
Inst
ituto
de
Info
rmát
ica
-UFR
GS
y , ,
17
Plataforma
Hipervisor
ABI real
ABI virtual
Plataforma
Hipervisor
Chamada deSistema virtual User ISA virtual
Chamada deSistema real User ISA real
Arquiteturas de virtualização
� Implementação de máquinas virtuais não é tão simples quanto parece� Questões de desempenho� Compartilhamento de recursos entre sistemas nativo e
hóspedes
Inst
ituto
de
Info
rmát
ica
-UFR
GS
� Questão interessante:� O que fazer quando o sistema operacional hóspede executa
instruções privilegiadas (system ISA)?
18
Depende de recursos oferecidos pelo processsador
Implementação de máquinas virtuais
� Máquina virtual de processo� Fácil: apenas uma aplicação que executa sobre sistema
operacional nativo� Máquina virtual de sistema (monitor de máquina virtual)
� Camada especial de software (hipervisor)
Inst
ituto
de
Info
rmát
ica
-UFR
GS
� Duas filosofias:" Virtualização total ou completa" Paravirtualização
19
Virtualização total ou completa
� Oferece uma réplica do hardware subjacente
� Desvantagem:� Diversidade de hardware� Desempenho
Sistema operacional 1(original)
Sistema operacional 2(original)
Ap1 ●●● Apn Ap1 ●●● Apn
Máquina virtual 1 Máquina virtual 2
Inst
ituto
de
Info
rmát
ica
-UFR
GS
" Testar operações sensíveis� Vantagem:
� Executar sistemas não modificados Plataforma
VMM (Virtual Machine Monitor)
Paravirtualização
� Sistema hóspede tem consciência da existência da VMM� Operações sensíveis
� Vantagem:Sistema operacional 1
(modificado)Sistema operacional 2
(modificado)
Ap1 ●●● Apn Ap1 ●●● Apn
Máquina virtual 1 Máquina virtual 2
Inst
ituto
de
Info
rmát
ica
-UFR
GS
� Desempenho� Desvantagem
� Modificação do sistema hóspede
21
Plataforma
VMM (Virtual Machine Monitor)
Virtualização assistida por hardware
� Popek e Goldberg (1974) � Instruções privilegiadas
" Quando executadas em modo usuário geram exceções (traps)� Sensíveis de controle
" Permitem alteração de recursos de sistema
Inst
ituto
de
Info
rmát
ica
-UFR
GS
ç� Sensíveis comportamentais
" Resultado depende da configuração de recursos como, por exemplo, contéudos internos de registradores ou modos de execução da CPU
� Virtualização é possível sempre que as instruções sensíveis forem um subconjunto das privilegiadas
Sistemas Operacionais II 22
A. C
aris
sim
i -21
-jun-
11
Anéis de proteção em arquiteturas x86
� Arquitetura x86 possui quatro modos de operação� Tipicamente apenas dois são empregados (usuário e sistema)
� Existem 17 instruções não privilegiadas que são sensíveis� Comprometem a implementação da virtualização
Inst
ituto
de
Info
rmát
ica
-UFR
GS
Fonte: virtualização de servidores (Curso ADS005 � Escola Superior de Redes - RNP
Níveis de privilégio na Arquitetura x86
Inst
ituto
de
Info
rmát
ica
-UFR
GS
Sistema operacional convencional
Sistema com virtualização completa
Paravirtualização e HAVIn
stitu
to d
e In
form
átic
a -U
FRG
S
Paravirtualização no x86 Hardware Assisted Virtualization (HAV)
Ferramentas de virtualização: exemplos
� Máquinas virtuais de processo� Java Virtual Machine (JVM)
� Monitor de máquina virtual� Nativo: Xen, VMware ESX, Hyper-V� Hospedado: VMware Player, VirtualPC, VirtualBox
Inst
ituto
de
Info
rmát
ica
-UFR
GS
p y , ,
Sistemas Operacionais II 26
A. C
aris
sim
i -21
-jun-
11
Estudo de caso: Xen
� Solução para virtualização em software livre� Xensource e Citrix� Empregado como base para soluções de cloud computing
� Características gerais� Monitor de máquina virtual do tipo I (nativo ou barametal)
Inst
ituto
de
Info
rmát
ica
-UFR
GS
q p ( )� Ausência de drivers de dispositivos de E/S
� Componentes básico� Hipervisor� Domínio convidado privilegiado� Domínio convidado não privilegiado
Sistemas Operacionais II 27
A. C
aris
sim
i -21
-jun-
11
Componentes básicos
Inst
ituto
de
Info
rmát
ica
-UFR
GS
Fonte: virtualização de servidores (Curso ADS005 � Escola Superior de Redes - RNP
Domínios convidados
� Domínio privilegiado (Dom0)� Primeiro sistema operacional convidado� Privilégios para acesso ao hardware� Gerenciamento das máquinas virtuais� Sistema operacional código aberto
Inst
ituto
de
Info
rmát
ica
-UFR
GS
p g" Interação com o hipervisor
� Dominio não privilegiado (DomU)� Máquinas virtuais (sistemas convidados)� Paravirtualização e virtualização completa (HAV)
Interação entre Hipervisor, Domínio 0 e Domínios U
Inst
ituto
de
Info
rmát
ica
-UFR
GS
Fonte: virtualização de servidores (Curso ADS005 � Escola Superior de Redes - RNP
Drivers: Mecanismo de back-end e front-end
Inst
ituto
de
Info
rmát
ica
-UFR
GS
Fonte: virtualização de servidores (Curso ADS005 � Escola Superior de Redes - RNP
Implementação de paravirtualização e virtualização completa no Xen
Inst
ituto
de
Info
rmát
ica
-UFR
GS
Fonte: virtualização de servidores (Curso ADS005 � Escola Superior de Redes - RNP
Emprego da virtualização: casos de uso
� Consolidação de servidores� Principal utilização da virtualização (virtualização de servidores)� Objetivo é economia de energia e reduzir ociosidade
� Virtualização em desktops� Ambientes de desenvolvimento
Inst
ituto
de
Info
rmát
ica
-UFR
GS � Laboratórios de treinamento
� Testes de programas e sistemas� Honeypots
� Análise de segurança� Computação em nuvem
Sistemas Operacionais II 33
A. C
aris
sim
i -21
-jun-
11Sistemas virtuais, problemas reais
� Licenciamento de software� Modelo de licenciamento de software é confuso (sem padrão)
� Segurança� Os hipervisores, sendo um software, possui bugs
(vulnerabilidades)
Inst
ituto
de
Info
rmát
ica
-UFR
GS
� Gerenciamento� Ferramentas para instanciar, monitorar, configurar e manter as
máquinas virtuais� Desempenho
� Qual o custo introduzido por uma camada adicional de software
Sistemas Operacionais II 34
A. C
aris
sim
i -21
-jun-
11
Leituras complementares
� Carissimi, A.; Virtualização: da Teoria a Soluções. SimpósioBrasileiro de Redes de Computadores e Sistemas Distribuídos. SBRC 2008. 26 a 30 de maio de 2008. pg. 174-209. Rio de Janeiro. RJ. Brasil
� Carissimi, A.; Virtualização; IX Simpósio de SistemasComputacionais WSCAD SCC 2008 29 de out a 1 de nov de
Inst
ituto
de
Info
rmát
ica
-UFR
GS
Redes de Computadores 35
A. C
aris
sim
i -21
-juin
-11
Computacionais. WSCAD-SCC 2008. 29 de out a 1 de nov de 2008. Anais eletrônicos. Campo Grande. MS. Brasil.
Cópia eletrônica do material disponível no moodle da disciplina