Sistemas Operacionais II Ł a - UFRGSasc/sisop_II/pdf/aula25.pdf · c a - UFRGS Sistemas...

9
ca - UFRGS Sistemas Operacionais II Virtualizaªo Instituto de Informátic 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 Segurana Instituto de Informática - UFRGS Virtualizaªo Ø um conceito que enderea muitos desses problemas Base para a implementaªo de vÆrios servios distribudos como, por exemplo, cluster por demanda e computaªo em nuvem Sistemas Operacionais II 2 A. Carissimi -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) Instituto de Informática - UFRGS 3 !Simulaªo completa ou parcial da mÆquina (modelo) !Emulaªo (comportamento) A. Singh, 2008 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.” Dd (XML) Cl t Instituto de Informática - UFRGS 4 Discos virtuais Dados (XML) Middlewares Clusters Grades computacionais web ...entre outros Redes

Transcript of Sistemas Operacionais II Ł a - UFRGSasc/sisop_II/pdf/aula25.pdf · c a - UFRGS Sistemas...

Page 1: Sistemas Operacionais II Ł a - UFRGSasc/sisop_II/pdf/aula25.pdf · c a - UFRGS Sistemas Operacionais II Virtualizaçªo Instituto de Informáti Aula 25 Cronograma: Ł23/06: feriado

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

Page 2: Sistemas Operacionais II Ł a - UFRGSasc/sisop_II/pdf/aula25.pdf · c a - UFRGS Sistemas Operacionais II Virtualizaçªo Instituto de Informáti Aula 25 Cronograma: Ł23/06: feriado

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.

Page 3: Sistemas Operacionais II Ł a - UFRGSasc/sisop_II/pdf/aula25.pdf · c a - UFRGS Sistemas Operacionais II Virtualizaçªo Instituto de Informáti Aula 25 Cronograma: Ł23/06: feriado

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

Page 4: Sistemas Operacionais II Ł a - UFRGSasc/sisop_II/pdf/aula25.pdf · c a - UFRGS Sistemas Operacionais II Virtualizaçªo Instituto de Informáti Aula 25 Cronograma: Ł23/06: feriado

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

Page 5: Sistemas Operacionais II Ł a - UFRGSasc/sisop_II/pdf/aula25.pdf · c a - UFRGS Sistemas Operacionais II Virtualizaçªo Instituto de Informáti Aula 25 Cronograma: Ł23/06: feriado

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)

Page 6: Sistemas Operacionais II Ł a - UFRGSasc/sisop_II/pdf/aula25.pdf · c a - UFRGS Sistemas Operacionais II Virtualizaçªo Instituto de Informáti Aula 25 Cronograma: Ł23/06: feriado

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

Page 7: Sistemas Operacionais II Ł a - UFRGSasc/sisop_II/pdf/aula25.pdf · c a - UFRGS Sistemas Operacionais II Virtualizaçªo Instituto de Informáti Aula 25 Cronograma: Ł23/06: feriado

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

Page 8: Sistemas Operacionais II Ł a - UFRGSasc/sisop_II/pdf/aula25.pdf · c a - UFRGS Sistemas Operacionais II Virtualizaçªo Instituto de Informáti Aula 25 Cronograma: Ł23/06: feriado

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

Page 9: Sistemas Operacionais II Ł a - UFRGSasc/sisop_II/pdf/aula25.pdf · c a - UFRGS Sistemas Operacionais II Virtualizaçªo Instituto de Informáti Aula 25 Cronograma: Ł23/06: feriado

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