Sistemas Distribuídos

Slides:



Advertisements
Apresentações semelhantes
SISTEMAS OPERACIONAIS
Advertisements

Sistemas Distribuídos
SISTEMAS OPERACIONAIS (SO) Aula 5 Luciana A. F. Martimiano 2002
Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
Sistemas Distribuídos
Sistemas Cliente/Servidor Introdução
O Paradigma Cliente/Servidor Prof. Carlos A. Maziero, PhD PPGIA PUCPR.
Noções de Sistemas Operacionais
Sistemas operacionais
Sistemas Distribuídos:Definições e Caracteristicas
Sistemas Distribuídos
Capítulo 1 Introdução 1.1 O que é um sistema operacional
Modelos de Comunicação em Sistemas Distribuídos
Arquiteturas de Sistemas Distribuídos: Modelos de Comunicação
Arquitetura de Sistemas Operacionais
Chapter 4: Threads.
Sistemas Operacionais
Interação Cliente Servidor
Threads Estagiário: Bruno Guazzelli Batista Slides de autoria do Prof Drº Marcos José Santana baseados no livro Sistemas Operacionais Modernos de A. Tanenbaum.
Capítulo 1 Introdução 1.1 O que é um sistema operacional
Sistemas Operacionais
1 Sistemas Distribuídos - SDI Caracterização de Sistemas Distribuídos. Introdução. Exemplos de Sistemas Distribuídos. Desafios.
SISTEMAS DISTRIBUÍDOS Princípios e Paradigmas 2ª Edição ANDREW S
Sistemas Distribuídos
09/03/10 20:13 Claudio de Oliveira – 1/21.
Banco de dados distribuídos
Mobilidade Cláudia Ribeiro.
Sistemas Distribuídos
Sistemas Operacionais
Middleware e Sistemas Distribuídos
SISTEMAS OPERACIONAIS
Tópicos em redes e sistemas distribuídos
Sistemas Distribuídos
Tópicos em redes e sistemas distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Tópicos em redes e sistemas distribuídos
Sistemas Operacionais I
Sistemas Distribuídos
Noções de Software Escola Almirante Soares Dutra
Infra-Estrutura de Software
Sistemas Distribuídos
Capítulo 1 Introdução 1.1 O que é um sistema operacional
Sistemas Distribuídos Estrutura de Redes
Sistemas Distribuídos Introdução. Conceito Coleção de múltiplos processos que executam sobre uma coleção de processadores autônomos interligados em uma.
Sistemas Distribuídos
SISTEMAS OPERACIONAIS I
Aula 1 – Introdução a Redes de Computadores
Processos.
Sistemas Distribuídos
Sistemas Distribuídos Prof. Marcus Rodrigues
CONECTIVIDADE Prof.: Alessandro V. Soares Ferreira
Sistemas Distribuídos Prof. Marcus Rodrigues
Sistemas Distribuídos Prof. Marcus Rodrigues
Sistemas Distribuídos
Modelos de Comunicação em Sistemas Distribuídos
Modelos de Comunicação em Sistemas Distribuídos
Infra-Estrutura para Computação Distribuída
Sistemas Distribuídos
Estrutura de Interconexão
Sistemas Operacionais Distribuídos
Sistemas Distribuídos
Passagens de Mensagens Prof. Dr. Norian Marranghello
Sistemas Distribuídos Prof. Eriko Werbet
Sistemas Distribuídos Prof. Marcus Rodrigues
Redes e Sistemas Distribuídos II – Cód Prof. MSc. Ronnison Reges Vidal.
Leandro Clementino Almeida.  Anos 50 - Sistemas Operacionais tipo Lote:  Aumentar a capacidade de processamento de programas  Usuário ia ao computador.
Banco de Dados Distribuídos Sílvia Cristina de Matos Soares
Sistemas Distribuídos Wesley Lucas Breda 4ºP de SI e TADS.
Estruturas de Sistemas Operacionais. Componentes Comuns do Sistema Administração de Processos Administração da Memória Principal Administração do Armazenamento.
Sistemas Operacionais Distribuídos e/ou de Redes Engenharia da Computação – UCPEL Ritiele Moreira Aldeburg.
Capítulo 4 Estrutura do Sistema Operacional
Transcrição da apresentação:

Sistemas Distribuídos Prof. Marcus Rodrigues marcus.rodrigues@gmail.com

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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