A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Sistemas Distribuídos

Apresentações semelhantes


Apresentação em tema: "Sistemas Distribuídos"— Transcrição da apresentação:

1 Sistemas Distribuídos
Prof. Marcus Rodrigues

2 Introdução aos Sistemas Distribuídos
Capítulo 1 – Aulas 3 e 4

3 Introdução aos Sistemas Distribuídos
Material baseado no livro Distributed Systems: Principles and Paradigms Prentice Hall Copyright © Andrew S. Tanembaum, Maarten van Steen, 2001 Sistemas Distribuídos – Capítulo 1 – Conceitos de Software

4 Conceitos de software “Hardware é importante para sistemas distribuídos, mas é o software que determina amplamente com o que sistema distribuído se parece” [Tanembaum & van Steen] Sistemas distribuídos são como sistemas operacionais tradicionais Gerenciador de recursos Máquina virtual Sistemas Distribuídos – Capítulo 1 – Conceitos de Software

5 Conceitos de software DOS (Distributed Operating Systems)
Sistema Descrição Principal meta DOS Sistema operacional fortemente acoplado para sistemas multiprocessados e multicomputadores homogêneos Ocultar e gerenciar recursos de hardware NOS Sistema operacional fracamente acoplado para multi-computadores heterogêneo (LAN e WAN) Oferecer serviços locais para clientes remotos Middleware Camada adicional sobre o NOS implementando serviços de propósito geral Prover transparência distribuída DOS (Distributed Operating Systems) NOS (Network Operating Systems) Middleware Sistemas Distribuídos – Capítulo 1 – Conceitos de Software

6 Sistemas Operacionais Distribuídos
Há dois tipos de Sistemas Operacionais Distribuídos (SOD): Sistemas Operacionais Multiprocessados Sistemas Operacionais Multicomputadores A funcionalidade de SOD é essencialmente a mesma de sistemas operacionais tradicionais para sistemas monoprocessados, exceto que eles tratam múltiplas CPUs. Sistemas Distribuídos – Capítulo 1 – Conceitos de Software

7 Sistema Operacional Monoprocessado (1)
Máquina virtual Gerenciador de recursos Conveniência x eficiência Modos de execução kernel x usuário Organização de sistemas operacionais Arquitetura monolítica ... Arquitetura microkernel Sistemas Distribuídos – Capítulo 1 – Conceitos de Software

8 Sistema Operacional Monoprocessado (2)
Aplicações separadas do código do sistema operacional através de um micro-kernel 1.11 Sistemas Distribuídos – Capítulo 1 – Conceitos de Software

9 Sistema Operacional Multiprocessado (1)
Múltiplos processadores tendo acesso a uma memória compartilhada Dados compartilhados sendo acessados concorrentemente por múltiplos processadores Garantir consistência Primitivas de sincronização Aumento de desempenho através de múltiplos processadores Número de CPUs transparente para a aplicação Sistemas Distribuídos – Capítulo 1 – Conceitos de Software

10 Sistema Operacional Multiprocessado (2)
Exemplo de um monitor para proteger uma variável inteira contra acesso concorrente monitor Counter { private: int count = 0; public: int value() { return count;} void incr () { count = count + 1;} void decr() { count = count – 1;} } Sistemas Distribuídos – Capítulo 1 – Conceitos de Software

11 Sistema Operacional Multiprocessado (3)
Exemplo de um monitor para proteger uma variável inteira contra acessos concorrentes, com uso de bloqueio de processos. monitor Counter { private: int count = 0; int blocked_procs = 0; condition unblocked; public: int value () { return count;} void incr () { if (blocked_procs == 0) count = count + 1; else signal (unblocked); } void decr() { if (count ==0) { blocked_procs = blocked_procs + 1; wait (unblocked); blocked_procs = blocked_procs – 1; } else count = count – 1; Sistemas Distribuídos – Capítulo 1 – Conceitos de Software

12 Sistema Operacional Multicomputador (1)
Estrutura e complexidade totalmente diferente de sistemas multiprocessados Não há compartilhamento de memória Modo de comunicação Passagem de mensagem Sistemas Distribuídos – Capítulo 1 – Conceitos de Software

13 Sistema Operacional Multicomputador (2)
Estutura geral de um sistema operacional multicomputador 1.14 Sistemas Distribuídos – Capítulo 1 – Conceitos de Software

14 Sistema Operacional Multicomputador (2)
Alternativas para bloqueio e buferização em passagem de mensagens. 1.15 Sistemas Distribuídos – Capítulo 1 – Conceitos de Software

15 Sistema Operacional Multicomputador (3)
Ponto de sincronização Buffer de transmissão Comunicação confiável garantida ? Bloqueio do transmissor até que o buffer não esteja cheio Sim Não necessário Bloqueio do transmissor até que a mensagem seja enviada Não Bloqueio do transmissor até que a mensagem seja recebida Necessário Bloqueio do transmissor até que a mensagem seja entregue Relação entre bloqueio, buferização e comunicação confiável. Sistemas Distribuídos – Capítulo 1 – Conceitos de Software

16 Sistemas de Memória Compartilhada Distribuído (1)
Prática mostra que programar sistemas multicomputadores é mais difícil que programar sistemas multiprocessadores Primitivas de sincronização x Passagem de mensagem Emular memória compartilhada em sistemas multicomputadores Máquina de memória compartilhada virtual Usar capacidade de memória virtual de cada nó Memória compartilhada distribuída (DSM – Distributed Shared Memory) Sistemas Distribuídos – Capítulo 1 – Conceitos de Software

17 Sistemas de Memória Compartilhada Distribuído (2)
Páginas do espaço de endereçamento distribuídas entre quatro máquinas Situação após CPU 1 referenciar página 10 Situação se a página 10 é apenas de leitura e replicação é usada Sistemas Distribuídos – Capítulo 1 – Conceitos de Software

18 Sistemas de Memória Compartilhada Distribuído (3)
Falso compartilhamento de uma página entre dois processos independentes 1.18 Sistemas Distribuídos – Capítulo 1 – Conceitos de Software

19 Sistemas Operacionais de Redes (1)
SOR provêm facilidades que permitam que usuários façam uso de serviçõs disponíveis em uma máquina específica Plataforma de hardware heterogênea Ausência de transparência Exemplos de serviços rlogin máquina rcp máquina1:arquivo1 máquina2:arquivo2 Sistemas Distribuídos – Capítulo 1 – Conceitos de Software

20 Sistemas Operacionais de Redes (2)
Estrutura geral de um sistema operacional de redes 1-19 Sistemas Distribuídos – Capítulo 1 – Conceitos de Software

21 Sistemas Operacionais de Redes (3)
Dois clientes e um servidor em um sistema operacional de redes 1-20 Sistemas Distribuídos – Capítulo 1 – Conceitos de Software

22 Sistemas Operacionais de Redes (4)
Diferentes clientes podem montar os servidores em diferentes locais 1.21 Sistemas Distribuídos – Capítulo 1 – Conceitos de Software

23 Middleware (1) SOR x SOD Ambos, individualmente, não são qualificados com um sistema distribuído, de acordo com o que foi definido. “Uma coleção de computadores independentes que parecem aos usuários como um único computador” [Tanenbaum &van Steen 01] Solução? Sistemas Distribuídos – Capítulo 1 – Conceitos de Software

24 Middleware (2) Estrutura geral de um sistema distribuído como middleware 1-22 Sistemas Distribuídos – Capítulo 1 – Conceitos de Software

25 Middleware (3) Cada sistema local integrante do sistema operacional de redes é responsável por prover gerenciamento de recursos locais, além de meios para conectar a outros computadores Meta: Ocultar heterogeneidade da plataforma de hardware da aplicação usuária do sistema distribuída Sistemas Distribuídos – Capítulo 1 – Conceitos de Software

26 Modelos de Middleware Para tornar o desenvolvimento e integração de aplicações distribuídas o mais simples possível, a maioria dos middlewares é baseada em algum modelo, ou paradigma, para descrever a distribuição e comunicação dos componentes Exemplos de Modelos: Tudo é tratado como arquivo Chamada remota de procedimentos Objetos distribuídos Documentos distribuídos Sistemas Distribuídos – Capítulo 1 – Conceitos de Software

27 Serviços de um Middleware
Facilidade de comunicação Transparência de acesso Ocultar a passagem de mensagens através da rede Nomeação Persistência Transações distribuídas Segurança Sistemas Distribuídos – Capítulo 1 – Conceitos de Software

28 Middleware e Flexibilidade
1.23 Em um sistema distribuído baseado em middleware aberto os protocolos usados por cada middleware devem ser os mesmos, bem como as interfaces oferecidas às aplicações. Sistemas Distribuídos – Capítulo 1 – Conceitos de Software

29 Comparação entre os Sistemas
SO Distribuído SO de Redes SO baseado em Middleware Multiproc. Multicomp. Grau de transparência Muito alto Alto Baixo Mesmo SO em todos os nós Sim Não Número de cópias do SO 1 N Base para comunicação Memória compart. Mensagem Arquivo Modelo específico Gerenciamento de recursos Global, central Global, distribuído Por nó Escalabilidade Moderadamente Variável Flexibilidade (“Openness”) Fechado Aberto Sistemas Distribuídos – Capítulo 1 – Conceitos de Software


Carregar ppt "Sistemas Distribuídos"

Apresentações semelhantes


Anúncios Google