Sistemas Operacionais II

Documentos relacionados
Sistemas Operacionais

Introdução aos Sistemas Operacionais. Virtualização

Estruturas de Sistemas Operacionais

Servidores. Um Servidor, em redes de computadores, nada mais é que um host da rede capaz de oferecer um determinado serviço a outros hosts da redes.

Trabalho de Conclusão de Curso

Sistemas Operacionais

MÁQUINAS VIRTUAIS EM SISTEMAS DISTRIBUÍDOS. Luiz C. Vieira

Estrutura do Sistema Operacional

Estrutura dos Sistemas Operacionais. Adão de Melo Neto

Estrutura dos Sistemas Operacionais. Adão de Melo Neto

Sistemas Operacionais. Introdução a Sistemas Operacionais

SOP - TADS Fundamentos de Sistemas Operacionais

Sistemas Operacionais Aula 3

Sistemas Operacionais Estrutura do Sistema Operacional. Arquiteturas do Kernel

Sistemas Operacionais. Sistema de entrada e Saída

CP Introdução à Informática Prof. Msc. Carlos de Salles

Introdução a Virtualização. Sergio Roberto Charpinel Junior Profa. Roberta Lima Gomes

PROVA 03/07 Segunda-feira (semana que vem)

Processos ca 3 pítulo

Conceitos básicos e serviços dos Sistemas Operacionais

16/8/2010. A arquitetura de um sistema computacional representa o modelo da organização e funcionamento de um sistema de processamento

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais

ESTRUTURA DOS SISTEMAS OPERACIONAIS

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO

Componente de aplicação. Figura 1 - Elementos funcionais de uma aplicação sendo executados de forma distribuída

Exercícios Cap I. 1.1, 1.2, 1.3 (somente letras (a), (b) e (c)) , 1.8 e 1.12 IC - UFF

Sistemas Distribuídos

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos

Sistemas Operacionais II

Fundamentos de Sistemas Operacionais de Arquitetura Aberta. CST em Redes de Computadores

Sistemas Operacionais de Redes Windows. Ricardo Kléber

Entrada/Saída. Capítulo 5. Sistemas Operacionais João Bosco Junior -

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais. Referências Bibliográfica. Referências Bibliográfica

Sistemas Operacionais. Maria de Fátima de Freitas Bueno Marcílio

Virtualização de Máquinas Uma experiência baseada em ferramentas livres

Informática. Estruturas de Servidores Físicos e Virtualizados. Professor Márcio Hunecke.

Sistemas Operacionais. Entrada/Saída

Arquitetura de Computadores

Nuvem e Virtualização Redes Programáveis

VIRTUALIZAÇÃO DE SERVIDORES - HYPER-V E SYSTEM CENTER

Gerência de Dispositivos. Adão de Melo Neto

Sistemas Operacionais (SO)

Subsistemas de E/S Device Driver Controlador de E/S Dispositivos de E/S Discos Magnéticos Desempenho, redundância, proteção de dados

Estrutura dos Sistemas Operacionais. Sérgio Portari Júnior

Arquitetura e Organização de Computadores

Matéria: Sistema Computacional - SC. Prof.: Esp.: Patrícia Dias da Silva Peixoto

SISTEMAS OPERACIONAIS

Fundamentos da Informática Aula 03 - Sistemas operacionais: Software em segundo plano Exercícios Professor: Danilo Giacobo

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

Prof. José Maurício S. Pinheiro UniFOA

Introdução aos Sistemas Operacionais

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 02: INTRODUÇÃO

Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca

LISTA DE EXERCÍCIOS 02

Informática básica SOFTWARE.

Infra Estrutura Hardware e Software

Arquitetura de Computadores

Algoritmos Computacionais

Perguntas e respostas

AULA 08: Sistemas Operacionais FUNPRESP JUDICIÁRIO

Marcelo Araujo, Agosto de 2015 Automation & Power World Brasil System 800xA Virtualização Proteção e Segurança para seu Investimento

Sistemas Operacionais. Estrutura do Sistema Operacional

Sistemas Operacionais. Visão Geral

Sistemas Operacionais. Adão de Melo Neto

AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES

Programação de Computadores I - PRG1 Engenharia Elétrica

Introdução à Programação de Computadores Fabricação Mecânica

Introdução à Ciência da Computação

Projeto Integrador II

Virtualização. Prof. Emiliano Monteiro

Desenvolvimento de Aplicações Distribuídas

Transcrição:

Introdução Instituto de Informátic ca - UFRGS Sistemas Operacionais II Virtualização 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) Aula 25 Motivação Ociosidade de recursos Economia de energia Heterogeneidade Segurança 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 O que é virtualização?...mas virtualização não é só isso!! 3 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)!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 4 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. Discos virtuais Grades computacionais Dados (XML) Clusters Middlewares...entre outros web Redes

Fundamentação teórica Dividir para conquistar 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 Componente = sistema independente Interfaces Serviços 6 Abstração + Interface Camada n+1 Camada n Camada n-1 Exemplos: Assembly Bibliotecas Linguagens alto nível MR-OSI etc * SPQR: Senatus Populusque Romanus. ( O Senado e o Povo Romano) 5 Exemplos: abstração e interfaces Isomorfismo setor eixo cilindro Cabeçote r/w Braço móvel Sistema A E i e (E i ) E j Assembly + modos de endereçamento Nome simbólico Gerência de diretório Núcleo sistema arquivos Identificador numérico Organização de dispositivos Interface sistema de arquivos Interface subsistema de E/S trilha IBM Model DKLA-24320 8944 cilindros 15 cabeçotes 63 setores por trilha Internet 7 8 Sistema B V(E i ) V(E j ) e (E j ) E i E j 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 Camadas de abstração e interfaces 9 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] open, read, write, close Processo usuário Sistema de arquivos = diretório + arquivos Partição A Partição B Blocos, i-nodes, etc disco físico Partição = disco virtual 10 software hardware System ISA Bibliotecas Sistema Operacional 2 1 1 Processador 3 4 Barramento MMU 5 E/S 6 7 RAM Instruction Set Architecture - ISA User ISA Arquitetura de computadores Interface Binária da Instruction Set Architecture (ISA) Interface limítrofe entre o nível de abstração de hardware e o de software Interface aplicativa(api) 11 Software ISA System ISA Retratam (pelo menos) dois modos de operação da CPU Privilegiado System ISA Não privilegiado User ISA User ISA 12 Application Binary Interface (ABI) ABI Bibliotecas Chamadas de sistema Sistema Operacional System ISA = Chamadas de sistema (system calls) + Processador User ISA Instruções não privilegiadas (user ISA)

Virtualização: máquinas virtuais 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áquina abstrata Duas perspectivas diferentes: Processo " Máquina virtual de processo (runtime) Sistema operacional " Máquina virtual de sistema ( hipervisor ou monitor de máquina virtual) 13......... abstrato Nível de hardware Sistema operacional Nível de sistema operacional Sistema operacional Nível de linguagem 14 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 Hospedeiro Máquina virtual Sistema Operacional Hóspede Máquina virtual de processo Máquina virtual de sistema 15 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 Máquina virtual Hospedeiro Máquina virtual Sistema Operacional (cpu, disco, rede, etc) Hóspede 16 Ambiente de execução completo onde podem coexistir sistemas operacionais e aplicações Dois tipos básicos: Máquina virtual SO 1 Hipervisor (VMM)... Hóspede SO n (a) Hipervisor Tipo I (nativo) Hospedeiro SO 1... SO n Sistema Operacional (nativo) (cpu,ram, disco,rede,etc) (b) Hipervisor Tipo II (hóspede)

O quê virtualizar? Arquiteturas de virtualização 17 Duas opções: System call + User ISA " Ex.: VMware Fusion ambiente windows para MacOS X System call " Ex.: VMware Player, VirtualBox, Virtual PC... Hipervisor Plataforma ABI virtual ABI real Chamada de Sistema virtual Chamada de Sistema real Hipervisor Plataforma User ISA virtual User ISA real 18 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 Questão interessante: O que fazer quando o sistema operacional hóspede executa instruções privilegiadas (system ISA)? Depende de recursos oferecidos pelo processsador Implementação de máquinas virtuais Virtualização total ou completa 19 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) Duas filosofias: " Virtualização total ou completa " Paravirtualização Oferece uma réplica do hardware subjacente Desvantagem: Diversidade de hardware Desempenho " Testar operações sensíveis Vantagem: Executar sistemas não modificados Máquina virtual 1 Máquina virtual 2 Ap 1 Ap n Ap 1 Ap n Sistema operacional 1 (original) Plataforma Sistema operacional 2 (original) VMM (Virtual Machine Monitor)

Paravirtualização Virtualização assistida por hardware Sistema hóspede tem consciência da existência da VMM Operações sensíveis Vantagem: Desempenho Desvantagem Modificação do sistema hóspede Máquina virtual 1 Máquina virtual 2 Ap 1 Ap n Ap 1 Ap n Sistema operacional 1 (modificado) Plataforma Sistema operacional 2 (modificado) VMM (Virtual Machine Monitor) 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 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 21 Sistemas Operacionais II 22 Anéis de proteção em arquiteturas x86 Níveis de privilégio na Arquitetura 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 Sistema operacional convencional Sistema com virtualização completa

Paravirtualização e 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 Paravirtualização no x86 Assisted Virtualization (HAV) Sistemas Operacionais II 26 Estudo de caso: Xen Componentes básicos 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) 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

Domínios convidados Interação entre Hipervisor, Domínio 0 e Domínios U Domínio privilegiado (Dom0) Primeiro sistema operacional convidado Privilégios para acesso ao hardware Gerenciamento das máquinas virtuais Sistema operacional código aberto " Interação com o hipervisor Dominio não privilegiado (DomU) Máquinas virtuais (sistemas convidados) Paravirtualização e virtualização completa (HAV) Drivers: Mecanismo de back-end e front-end Implementação de paravirtualização e virtualização completa no Xen

Emprego da virtualização: casos de uso Sistemas virtuais, problemas reais 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 Laboratórios de treinamento Testes de programas e sistemas Honeypots Análise de segurança Computação em nuvem Licenciamento de software Modelo de licenciamento de software é confuso (sem padrão) Segurança Os hipervisores, sendo um software, possui bugs (vulnerabilidades) 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 33 Sistemas Operacionais II 34 Leituras complementares A. Carissimi -21-juin-11 Carissimi, A.; Virtualização: da Teoria a Soluções. Simpósio Brasileiro 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 Sistemas Computacionais. WSCAD-SCC 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 Redes de Computadores 35