SlideShare una empresa de Scribd logo
1 de 48
Descargar para leer sin conexión
SISTEMAS DISTRIBUÍDOS
       2008.2


     Capítulo 1
     Introdução


André Ribeiro Cardoso - andrec@larces.uece.br
                                                1
Apresentação
•  Prof. André Ribeiro Cardoso
   (andrec@larces.uece.br)
• Material didático:
   http://www.larces.uece.br/~andrec/SD20082
• Sistema de avaliação:
  – Duas provas teóricas - P1 e P2
  – Trabalhos práticos - T
  – Seminários - S             média = (P + P + T + S)
                                           1   2
                                                         /4

• Condição para aprovação: média >= 7,0
  – Nota final = (média + NEF) / 2 >= 5,0
                                                              2
Bibliografia

•   Sistemas Distribuídos – Princípios e Paradigmas
    (2a edição)
      Andrew Tanenbaum / Maarten Van Steen
•   Sistemas Distribuídos – Conceitos e Projetos
    (4a edição)
      George Coulouris, Jean Dollimore e Tim Kindberg




                                                   3
Objetivos
•   Apresentar os princípios de funcionamento, conceitos
    avançados e tecnologias subjacentes dos Sistemas
    Distribuídos

•   Explorar os conhecimentos adquiridos através de
    Trabalhos Práticos e Seminários Avançados




                                                      4
Cronograma (60horas)
•    Dezembro/2008
    – 02, 04, 09, 11, 16, 18, 23
    -------------------- 2009 --------------------
•    Janeiro
    – 06, 08, 13, 15, 20, 22, 27, 29
•    Fevereiro
    – 03, 05, 10, 12, 17, 19, 26
•    Março
    – 03, 05, 10, 12, 17, 24, 26, 31
•    Abril
    – 02, 07, 14, 16, 20                             5
Sumário
• Definição

•   Metas

•   Tipos de Sistemas Distribuídos




                                     6
Definição
•   “Um sistema distribuído (SD) é um conjunto de
    computadores independentes que se apresenta a seus usuários
    como um sistema único e coerente” (Tanenbaum)

•   “Um sistema em que componentes de hardware e software
    localizados em computadores em rede se comunicam e
    coordenam suas ações por passagem de mensagens”
    (Coulouris et al.)

•   Implica em: concorrência, ausência de relógio global e
    falhas isoladas e independentes

•   Motivação: compartilhamento de recursos                7
Definição

              Sistemas Distribuídos

“Você que tem um quando a falha de um computador do
    qual você nunca ouviu falar impede que você faça
                   qualquer trabalho”




                                                 8
Definição




                Arquitetura geral de um SD


•   Middleware: camada de software que se estende por
    várias máquinas e oculta das aplicações as diferenças
    em hardware e sistemas operacionais
                                                     9
Sumário
•   Definição

• Metas

•   Tipos de Sistemas Distribuídos




                                     10
Metas
• Acesso a recursos
•   Transparência da distribuição
•   Escalabilidade
•   Confiabilidade
•   Flexibilidade
•   Desempenho
•   Heterogeneidade
•   Segurança


                                    11
Metas
•    Acesso/compartilhamento de recursos
    –  Considerada PRINCIPAL META
    –  Tipos de recursos
      • Impressoras, computadores, dados, Hds etc.
    – Um SD deve oferecer fácil acesso a recursos remotos e
       compartilhamento eficiente/controlado
    – Compartilhamento de recursos induz a economia




                                                       12
Metas
•   Acesso a recursos
• Transparência da distribuição
•   Escalabilidade
•   Confiabilidade
•   Flexibilidade
•   Desempenho
•   Heterogeneidade
•   Segurança


                                  13
Metas
•    Transparência da distribuição
    –  Oculta o fato de recursos estarem distribuídos
    –  Um SD se apresenta a usuários e aplicações como um
       sistema único (TRANSPARENTE)
    – Tipos de transparências
      • Acesso, Localização, Migração, Relocação,
          Replicação, Concorrência e Falha




                                                       14
Metas
       Transparência da distribuição (cont.)
•   Acesso
    –   Trata de ocultar diferenças em representação de dados
        (máquinas com arquiteturas diferentes)
    –   Diferenças entre sistemas de nomeação e como arquivos
        são manipulados
•   Localização
    –   O nome do recurso deve ser independente de sua
        localização física (sist. nomeação tem papel importante)
    –   Nomes lógicos (URL): usuário acessa recursos da
        independente de onde ele está
                                                           15
Metas
        Transparência da distribuição (cont.)
•    Migração
    –  Objetos podem migrar de uma máquina a outra por
       questões de desempenho, confiabilidade, segurança etc.
    – Deve
      • Ser feita de forma automática pelo sistema
      • Manter nome do objeto
      • Garantir continuidade de comunicação



                                                         16
Metas
        Transparência da distribuição (cont.)
•    Relocação
    –  Oculta que um recurso (notebook) possa ser movido
       para outra localização durante o uso
    – Quando um usuário é móvel?
      • Um notebook se movimentando dentro da mesma
          área de cobertura (não é móvel)
      • Um automóvel passando por várias redes de acesso
          sem fio, com conexão ininterrupta (móvel)
      • Um notebook numa lanchonete sem necessidade de
          conectividade durante trajetória (móvel)
                                                     17
Metas
        Transparência da distribuição (cont.)
•    Replicação
    –  Permite que várias instâncias de recursos sejam usadas
       para aumentar a confiabilidade e o desempenho
    – Deve
      • Mascarar o conhecimento das réplicas por parte dos
          usuários ou dos programadores de aplicativos




                                                          18
Metas
       Transparência da distribuição (cont.)
•   Concorrência
    –    Coordenar acessos a recursos compartilhados
        • Ordenação de eventos: todos usuários ter uma
           mesma visão do sistema
        • Garantir exclusão mútua
        • Evitar postergação indefinida
        • Evitar deadlocks
•   Tolerar falhas, detectar e recuperar falhas

                                                         19
Metas
•   Transparência da distribuição (sumário)




                                              20
Metas
•   Acesso a recursos
•   Transparência da distribuição
• Abertura
•   Escalabilidade
•   Confiabilidade
•   Flexibilidade
•   Desempenho
•   Heterogeneidade
•   Segurança
                                    21
Metas
•   Abertura
    –    SD aberto oferece serviços de acordo com regras
         padronizadas para descreverem a sintaxe e semântica
         dos serviços
        • Ex: Em redes, existe a padronização de protocolos
           que regem o conteúdo, formato e significado das
           mensagens
        • Em SDs, os serviços são especificados por IDLs
           – IDLs capturam a sintaxe dos serviço (especificam
               nome das funções, tipos de parâmetros, valores de
               retorno, exceções etc.
           – Especificação da semântica (parte complicada)  22
Metas
•   Acesso a recursos
•   Transparência da distribuição
•   Abertura
• Escalabilidade
•   Confiabilidade
•   Flexibilidade
•   Desempenho
•   Heterogeneidade
•   Segurança
                                    23
Metas
•    Escalabilidade
    – De tamanho
       • Entrada de vários usuários ao sistema
    – Geográfica
       • Usuários e recursos devem estar longe uns dos
          outros
    – Administrativa
       • Envolvimento de várias organizações
          administrativas

                                                    24
Metas
•   Escalabilidade/Problemas (tamanho)




                                         25
Metas
•   Escalabilidade/Problemas (geográfica)




                                            26
Metas
•   Escalabilidade/Problemas (administrativa)




                                                27
Metas
•    Escalabilidade/Técnicas
    – Ocultar latências (geográfica)
       • Idéia: evitar o tempo de resposta a req. remotas
       • Comunicação assíncrona: execução de outros
          trabalhos
    – Distribuição
       • Idéia: dividir um componente em partes e
          espalhar pelo sistema
       • Ex: DNS e Web
    – Replicação / Cache
       • Idéia: replicar recursos para aumentar
          disponibilidade                              28
Metas
•     Escalabilidade/Técnicas
     –    Ocultar latências: Aplicações interativas não usam
          comunicação assíncrona
         • Solução: uso de formulários




    Diferença entre deixar um servidor ou um cliente verificar formulários
                                                                      29
Metas
•    Escalabilidade/Técnicas
    – Distribuição




           Divisão do espaço de nomes do DNS em zonas
                                                        30
Metas
•   Escalabilidade/Técnicas
    – Replicação/Cache (*)




              Replicação: decisão do proprietário
                    Cache: decisão do cliente
             (*) Problema de consistência de dados   31
Metas
•   Acesso a recursos
•   Transparência da distribuição
•   Escalabilidade
• Confiabilidade
•   Flexibilidade
•   Desempenho
•   Heterogeneidade
•   Segurança


                                    32
Metas
•    Confiabilidade
    –  Tolerar falhas
      • Habilidade do sistema continuar operacional mesmo
         na presença de falhas (redundância e controle
         distribuído)
    – Detectar e recuperar falhas
      • Capacidade para detectar ocorrência de falhas e levar
         o sistema a um estado aceitável para a continuidade
         da operação (mecanismos de retransmissão de msgs)


                                                        33
Metas
•   Acesso a recursos
•   Transparência da distribuição
•   Escalabilidade
•   Confiabilidade
• Flexibilidade
•   Desempenho
•   Heterogeneidade
•   Segurança


                                    34
Metas
•   Flexibilidade
    –    Capacidade de modificação e inclusão
        • Correção/manutenção do sistema sem interrupção do
           serviço
        • Inclusão de novas funcionalidades e recursos
           (integração de componentes)




                                                       35
Metas
•   Acesso a recursos
•   Transparência da distribuição
•   Escalabilidade
•   Confiabilidade
•   Flexibilidade
• Desempenho
•   Heterogeneidade
•   Segurança


                                    36
Metas
•    Desempenho
    –  Objetivo: transformar o desempenho tão bom quanto,
       ou mesmo superior, a de um sistema centralizado
    – Técnicas básicas
      • Uso da cache
      • Minimizar a necessidade de transferência de dados e
          sincronização
      • Explorar uso de paralelismo de alta granularidade
          (threads, concorrência etc.)



                                                       37
Metas
•   Acesso a recursos
•   Transparência da distribuição
•   Escalabilidade
•   Confiabilidade
•   Flexibilidade
•   Desempenho
• Heterogeneidade
•   Segurança


                                    38
Metas
•    Heterogeneidade
    –  Objetivo: permitir a interação de sistemas diferentes
       tanto em nível de software como de hardware
      • Inclui diferentes SOs e linguagens de programação
    – Técnicas básicas
      • Uso de protocolos
      • Uso de formatos comuns para representação de
          dados (XDR, XML etc.)
      • Camadas de adaptação (Middleware)


                                                         39
Metas
•   Acesso a recursos
•   Transparência da distribuição
•   Escalabilidade
•   Confiabilidade
•   Flexibilidade
•   Desempenho
•   Heterogeneidade
• Segurança

                                    40
Metas
•    Segurança
    –  Objetivo: proteção recursos compartilhados e
       manutenção da confiabilidade de dados
    – Deve considerar mecanismos para:
      • Autenticação
      • Autorização
      • Integridade
      • Confidencialidade
      • Autenticidade
    – Técnicas de criptografia
    – Preocupação com ataques (DoS, DDoS)
                                                      41
Sumário
•   Definição

•   Metas

• Tipos de Sistemas Distribuídos




                                   42
Tipos de SDs
• Sistemas de Computação Distribuídos

•   Sistemas de Informação Distribuídos

•   Sistemas Embutidos Distribuídos




                                          43
Tipos de SDs
•   Sistemas de Computação Distribuídos
    –   Sistemas de computação de clusters
    –   Sistemas de computação em grade (grids)




                                                  44
Tipos de SDs
•   Sistemas de computação de clusters
    –   Conjunto de estações de trabalho ou PCs semelhantes,
        conectados por meio de uma rede de alta velocidade
    –   Cada nó executa o mesmo SO
    –   Hardware subjacente homogêneo
    –   Usado para processamento paralelo – único programa
        executado em várias máquinas




                                                         45
Tipos de SDs




•    Ex: Cluster Beowulf
    – Nó mestre (middleware)
      • Aloca nós de computação a um determinado
          programa paralelo, mantém uma fila de jobs e
          gerencia o cluster
    – Nó de computação
      • SO padrão                                     46
Tipos de SDs
•   Sistemas de computação em grade (grids)
    –   SDs montados como federação de computadores, na
        qual cada sistema pode cair sob um sistema
        administrativo diferente, e pode ser muito diferente no
        que tange a hardware, software e tecnologia empregada
    –   Apresentam alto grau de heterogeneidade
    –   Software usado para permitir acesso a recursos (e.g.
        muitas vezes clusters) de diferentes organizações
        reunidos para permitir a colaboração de um grupo
        (conceito de organização virtual)
    –   Foco dirigido para a arquitetura
                                                           47
Tipos de SDs
•    Sistemas Distribuídos Pervasivos
    –  Dispositivos de computação móveis e embutidos
      • Pequeno porte
      • Alimentação por bateria
    – Ausência geral de controle humano
    – Exemplos
      • Sistemas doméstios
      • Redes de sensores
      • Sistemas eletrônicos para tratamento de saúde


                                                        48

Más contenido relacionado

La actualidad más candente

desafios na implementacao de sistemas distribuidos
desafios na implementacao de sistemas distribuidosdesafios na implementacao de sistemas distribuidos
desafios na implementacao de sistemas distribuidosHélio Jovo
 
Apresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoApresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoThiago Marinho
 
Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos
Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídosAula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos
Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídosMessias Batista
 
Capítulo1 - Introdução a Sistemas Distribuídos - Coulouris
Capítulo1 - Introdução a Sistemas Distribuídos - CoulourisCapítulo1 - Introdução a Sistemas Distribuídos - Coulouris
Capítulo1 - Introdução a Sistemas Distribuídos - CoulourisWindson Viana
 
Caracterizacao de sistemas distribuidos
Caracterizacao de sistemas distribuidosCaracterizacao de sistemas distribuidos
Caracterizacao de sistemas distribuidosPortal_do_Estudante_SD
 
Aula04 Sistemas Distribuídos - Processos
Aula04 Sistemas Distribuídos - ProcessosAula04 Sistemas Distribuídos - Processos
Aula04 Sistemas Distribuídos - ProcessosMessias Batista
 
SI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas DistribuidosSI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas DistribuidosFrederico Madeira
 
Capítulo 2 - Sistemas Distribuídos - Coulouris
Capítulo 2 - Sistemas Distribuídos - CoulourisCapítulo 2 - Sistemas Distribuídos - Coulouris
Capítulo 2 - Sistemas Distribuídos - CoulourisWindson Viana
 
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídos
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídosAula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídos
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídosMessias Batista
 
Introdução a Sistemas Distribuídos
Introdução a Sistemas DistribuídosIntrodução a Sistemas Distribuídos
Introdução a Sistemas DistribuídosVictor Hazin da Rocha
 
Sistemas Distribuídos - Grids Computacionais
Sistemas Distribuídos - Grids ComputacionaisSistemas Distribuídos - Grids Computacionais
Sistemas Distribuídos - Grids ComputacionaisAdriano Teixeira de Souza
 
Aula09 SD - Replicação e Consistência
Aula09 SD - Replicação e ConsistênciaAula09 SD - Replicação e Consistência
Aula09 SD - Replicação e ConsistênciaMessias Batista
 
Aula 2 introdução a sistemas distribuídos
Aula 2   introdução a sistemas distribuídosAula 2   introdução a sistemas distribuídos
Aula 2 introdução a sistemas distribuídosEduardo de Lucena Falcão
 
Sistemas Distribuídos - Modelos Arquitetônicos
Sistemas Distribuídos - Modelos ArquitetônicosSistemas Distribuídos - Modelos Arquitetônicos
Sistemas Distribuídos - Modelos ArquitetônicosJoão Werther Filho IT
 
Sd08 (si) sistemas de arquivos distribuídos
Sd08 (si)   sistemas de arquivos distribuídosSd08 (si)   sistemas de arquivos distribuídos
Sd08 (si) sistemas de arquivos distribuídosComputação Depressão
 
Arquitectura e modelos de sistemas distribuidos
Arquitectura e modelos de sistemas distribuidosArquitectura e modelos de sistemas distribuidos
Arquitectura e modelos de sistemas distribuidosPortal_do_Estudante_SD
 
Sistemas Distribuídos - Aula 01
Sistemas Distribuídos - Aula 01Sistemas Distribuídos - Aula 01
Sistemas Distribuídos - Aula 01Arthur Emanuel
 
Introdução aos sistemas distribuidos
Introdução aos sistemas distribuidosIntrodução aos sistemas distribuidos
Introdução aos sistemas distribuidosJesse Teixeira
 

La actualidad más candente (20)

desafios na implementacao de sistemas distribuidos
desafios na implementacao de sistemas distribuidosdesafios na implementacao de sistemas distribuidos
desafios na implementacao de sistemas distribuidos
 
Apresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoApresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - Conceito
 
Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos
Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídosAula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos
Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos
 
Capítulo1 - Introdução a Sistemas Distribuídos - Coulouris
Capítulo1 - Introdução a Sistemas Distribuídos - CoulourisCapítulo1 - Introdução a Sistemas Distribuídos - Coulouris
Capítulo1 - Introdução a Sistemas Distribuídos - Coulouris
 
Caracterizacao de sistemas distribuidos
Caracterizacao de sistemas distribuidosCaracterizacao de sistemas distribuidos
Caracterizacao de sistemas distribuidos
 
Aula04 Sistemas Distribuídos - Processos
Aula04 Sistemas Distribuídos - ProcessosAula04 Sistemas Distribuídos - Processos
Aula04 Sistemas Distribuídos - Processos
 
SI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas DistribuidosSI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas Distribuidos
 
Capítulo 2 - Sistemas Distribuídos - Coulouris
Capítulo 2 - Sistemas Distribuídos - CoulourisCapítulo 2 - Sistemas Distribuídos - Coulouris
Capítulo 2 - Sistemas Distribuídos - Coulouris
 
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídos
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídosAula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídos
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídos
 
Introdução a Sistemas Distribuídos
Introdução a Sistemas DistribuídosIntrodução a Sistemas Distribuídos
Introdução a Sistemas Distribuídos
 
Sistemas Distribuídos - Grids Computacionais
Sistemas Distribuídos - Grids ComputacionaisSistemas Distribuídos - Grids Computacionais
Sistemas Distribuídos - Grids Computacionais
 
Aula09 SD - Replicação e Consistência
Aula09 SD - Replicação e ConsistênciaAula09 SD - Replicação e Consistência
Aula09 SD - Replicação e Consistência
 
SI - Comunicação
SI - ComunicaçãoSI - Comunicação
SI - Comunicação
 
SI - Arquiteturas
SI - ArquiteturasSI - Arquiteturas
SI - Arquiteturas
 
Aula 2 introdução a sistemas distribuídos
Aula 2   introdução a sistemas distribuídosAula 2   introdução a sistemas distribuídos
Aula 2 introdução a sistemas distribuídos
 
Sistemas Distribuídos - Modelos Arquitetônicos
Sistemas Distribuídos - Modelos ArquitetônicosSistemas Distribuídos - Modelos Arquitetônicos
Sistemas Distribuídos - Modelos Arquitetônicos
 
Sd08 (si) sistemas de arquivos distribuídos
Sd08 (si)   sistemas de arquivos distribuídosSd08 (si)   sistemas de arquivos distribuídos
Sd08 (si) sistemas de arquivos distribuídos
 
Arquitectura e modelos de sistemas distribuidos
Arquitectura e modelos de sistemas distribuidosArquitectura e modelos de sistemas distribuidos
Arquitectura e modelos de sistemas distribuidos
 
Sistemas Distribuídos - Aula 01
Sistemas Distribuídos - Aula 01Sistemas Distribuídos - Aula 01
Sistemas Distribuídos - Aula 01
 
Introdução aos sistemas distribuidos
Introdução aos sistemas distribuidosIntrodução aos sistemas distribuidos
Introdução aos sistemas distribuidos
 

Destacado

Apresentação da Disciplina de Sistemas Distribuídos
Apresentação da Disciplina de Sistemas DistribuídosApresentação da Disciplina de Sistemas Distribuídos
Apresentação da Disciplina de Sistemas DistribuídosFrederico Madeira
 
SI - Sistemas Distribuídos - Apresentação da disciplina
SI - Sistemas Distribuídos - Apresentação da disciplinaSI - Sistemas Distribuídos - Apresentação da disciplina
SI - Sistemas Distribuídos - Apresentação da disciplinaFrederico Madeira
 
Publish-Subscribe Middlewares
Publish-Subscribe MiddlewaresPublish-Subscribe Middlewares
Publish-Subscribe Middlewareshome
 
Sistemas De Arquivos Distribuídos (SAD)
Sistemas De Arquivos Distribuídos (SAD)Sistemas De Arquivos Distribuídos (SAD)
Sistemas De Arquivos Distribuídos (SAD)Frederico Madeira
 
Sistemas Distribuídos - Aula 00
Sistemas Distribuídos - Aula 00Sistemas Distribuídos - Aula 00
Sistemas Distribuídos - Aula 00Arthur Emanuel
 
P2P - Sistemas Distribuídos
P2P - Sistemas DistribuídosP2P - Sistemas Distribuídos
P2P - Sistemas DistribuídosGustavo Monteiro
 

Destacado (8)

Aula sd 2008_02aspectosprojectosds
Aula sd 2008_02aspectosprojectosdsAula sd 2008_02aspectosprojectosds
Aula sd 2008_02aspectosprojectosds
 
GlusterFs
GlusterFsGlusterFs
GlusterFs
 
Apresentação da Disciplina de Sistemas Distribuídos
Apresentação da Disciplina de Sistemas DistribuídosApresentação da Disciplina de Sistemas Distribuídos
Apresentação da Disciplina de Sistemas Distribuídos
 
SI - Sistemas Distribuídos - Apresentação da disciplina
SI - Sistemas Distribuídos - Apresentação da disciplinaSI - Sistemas Distribuídos - Apresentação da disciplina
SI - Sistemas Distribuídos - Apresentação da disciplina
 
Publish-Subscribe Middlewares
Publish-Subscribe MiddlewaresPublish-Subscribe Middlewares
Publish-Subscribe Middlewares
 
Sistemas De Arquivos Distribuídos (SAD)
Sistemas De Arquivos Distribuídos (SAD)Sistemas De Arquivos Distribuídos (SAD)
Sistemas De Arquivos Distribuídos (SAD)
 
Sistemas Distribuídos - Aula 00
Sistemas Distribuídos - Aula 00Sistemas Distribuídos - Aula 00
Sistemas Distribuídos - Aula 00
 
P2P - Sistemas Distribuídos
P2P - Sistemas DistribuídosP2P - Sistemas Distribuídos
P2P - Sistemas Distribuídos
 

Similar a Introdução aos conceitos e objetivos de sistemas distribuídos

Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionaisDuFelix02
 
SD_Aula_02_Introdução ao SD.pdf
SD_Aula_02_Introdução ao SD.pdfSD_Aula_02_Introdução ao SD.pdf
SD_Aula_02_Introdução ao SD.pdfFerro Gaita
 
Uma Arquitetura para a Utilização de Computação nas Nuvens nos Ambientes de C...
Uma Arquitetura para a Utilização de Computação nas Nuvens nos Ambientes de C...Uma Arquitetura para a Utilização de Computação nas Nuvens nos Ambientes de C...
Uma Arquitetura para a Utilização de Computação nas Nuvens nos Ambientes de C...Henrique Gabriel Gularte Pereira
 
[Status report] uma estratégia para representação e gerenciamento de metadado...
[Status report] uma estratégia para representação e gerenciamento de metadado...[Status report] uma estratégia para representação e gerenciamento de metadado...
[Status report] uma estratégia para representação e gerenciamento de metadado...Marco André Machado
 
IES - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - Part...
IES - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - Part...IES - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - Part...
IES - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - Part...Ramon Mayor Martins
 
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptxAula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptxChadidoDiogo1
 
Aula 1 - Introducao.pdf
Aula 1 - Introducao.pdfAula 1 - Introducao.pdf
Aula 1 - Introducao.pdfRoberto Aragy
 
Modelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência PoliglotaModelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência PoliglotaGlaucio Scheibel
 
2010 02 26 Sistemas Operacionais Aula1
2010 02 26 Sistemas Operacionais Aula12010 02 26 Sistemas Operacionais Aula1
2010 02 26 Sistemas Operacionais Aula1Universal.org.mx
 
IFPA - Sistemas Distribuídos - Aula 01.pptx
IFPA - Sistemas Distribuídos - Aula 01.pptxIFPA - Sistemas Distribuídos - Aula 01.pptx
IFPA - Sistemas Distribuídos - Aula 01.pptxISOMARVALENTE1
 
Apresentação GT - Digital Preservation
Apresentação GT - Digital PreservationApresentação GT - Digital Preservation
Apresentação GT - Digital PreservationRoberto Beraldo Chaiben
 
Introdução a SGBDs
Introdução a SGBDsIntrodução a SGBDs
Introdução a SGBDsUFRN
 
Sistemas Distribuídos - Aula 11 - Sistemas Operacionais Distribuídos
Sistemas Distribuídos - Aula 11 - Sistemas Operacionais DistribuídosSistemas Distribuídos - Aula 11 - Sistemas Operacionais Distribuídos
Sistemas Distribuídos - Aula 11 - Sistemas Operacionais DistribuídosArthur Emanuel
 

Similar a Introdução aos conceitos e objetivos de sistemas distribuídos (20)

Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
SD_Aula_02_Introdução ao SD.pdf
SD_Aula_02_Introdução ao SD.pdfSD_Aula_02_Introdução ao SD.pdf
SD_Aula_02_Introdução ao SD.pdf
 
Uma Arquitetura para a Utilização de Computação nas Nuvens nos Ambientes de C...
Uma Arquitetura para a Utilização de Computação nas Nuvens nos Ambientes de C...Uma Arquitetura para a Utilização de Computação nas Nuvens nos Ambientes de C...
Uma Arquitetura para a Utilização de Computação nas Nuvens nos Ambientes de C...
 
SISTEMA SD
SISTEMA SDSISTEMA SD
SISTEMA SD
 
Introducao.2s
Introducao.2sIntroducao.2s
Introducao.2s
 
[Status report] uma estratégia para representação e gerenciamento de metadado...
[Status report] uma estratégia para representação e gerenciamento de metadado...[Status report] uma estratégia para representação e gerenciamento de metadado...
[Status report] uma estratégia para representação e gerenciamento de metadado...
 
IES - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - Part...
IES - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - Part...IES - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - Part...
IES - Ciência da Computação - Desenvolvimento de Sistemas Distribuídos - Part...
 
Regras de Design
Regras de DesignRegras de Design
Regras de Design
 
Computação de alta performance
Computação de alta performanceComputação de alta performance
Computação de alta performance
 
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptxAula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
 
Aula 1 - Introducao.pdf
Aula 1 - Introducao.pdfAula 1 - Introducao.pdf
Aula 1 - Introducao.pdf
 
TA1 - Slides Acessibilidade.pdf
TA1 - Slides Acessibilidade.pdfTA1 - Slides Acessibilidade.pdf
TA1 - Slides Acessibilidade.pdf
 
Modelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência PoliglotaModelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência Poliglota
 
2010 02 26 Sistemas Operacionais Aula1
2010 02 26 Sistemas Operacionais Aula12010 02 26 Sistemas Operacionais Aula1
2010 02 26 Sistemas Operacionais Aula1
 
IFPA - Sistemas Distribuídos - Aula 01.pptx
IFPA - Sistemas Distribuídos - Aula 01.pptxIFPA - Sistemas Distribuídos - Aula 01.pptx
IFPA - Sistemas Distribuídos - Aula 01.pptx
 
Servidores de Aplicações
Servidores de AplicaçõesServidores de Aplicações
Servidores de Aplicações
 
Apresentação GT - Digital Preservation
Apresentação GT - Digital PreservationApresentação GT - Digital Preservation
Apresentação GT - Digital Preservation
 
Introdução à sistemas distribuídos
Introdução à sistemas distribuídosIntrodução à sistemas distribuídos
Introdução à sistemas distribuídos
 
Introdução a SGBDs
Introdução a SGBDsIntrodução a SGBDs
Introdução a SGBDs
 
Sistemas Distribuídos - Aula 11 - Sistemas Operacionais Distribuídos
Sistemas Distribuídos - Aula 11 - Sistemas Operacionais DistribuídosSistemas Distribuídos - Aula 11 - Sistemas Operacionais Distribuídos
Sistemas Distribuídos - Aula 11 - Sistemas Operacionais Distribuídos
 

Más de Portal_do_Estudante_SD (8)

Sistemas operativos distribuidos e de redes
Sistemas operativos distribuidos e de redesSistemas operativos distribuidos e de redes
Sistemas operativos distribuidos e de redes
 
Modelos de estruturação de sistemas distribuídos
Modelos de estruturação de sistemas distribuídosModelos de estruturação de sistemas distribuídos
Modelos de estruturação de sistemas distribuídos
 
Jdbc
JdbcJdbc
Jdbc
 
Corbawebserves
CorbawebservesCorbawebserves
Corbawebserves
 
Conceitos basicos
Conceitos basicosConceitos basicos
Conceitos basicos
 
Computacao distribuida com rmi
Computacao distribuida com rmiComputacao distribuida com rmi
Computacao distribuida com rmi
 
Atividade sd
Atividade sdAtividade sd
Atividade sd
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 

Introdução aos conceitos e objetivos de sistemas distribuídos

  • 1. SISTEMAS DISTRIBUÍDOS 2008.2 Capítulo 1 Introdução André Ribeiro Cardoso - andrec@larces.uece.br 1
  • 2. Apresentação • Prof. André Ribeiro Cardoso (andrec@larces.uece.br) • Material didático: http://www.larces.uece.br/~andrec/SD20082 • Sistema de avaliação: – Duas provas teóricas - P1 e P2 – Trabalhos práticos - T – Seminários - S média = (P + P + T + S) 1 2 /4 • Condição para aprovação: média >= 7,0 – Nota final = (média + NEF) / 2 >= 5,0 2
  • 3. Bibliografia • Sistemas Distribuídos – Princípios e Paradigmas (2a edição) Andrew Tanenbaum / Maarten Van Steen • Sistemas Distribuídos – Conceitos e Projetos (4a edição) George Coulouris, Jean Dollimore e Tim Kindberg 3
  • 4. Objetivos • Apresentar os princípios de funcionamento, conceitos avançados e tecnologias subjacentes dos Sistemas Distribuídos • Explorar os conhecimentos adquiridos através de Trabalhos Práticos e Seminários Avançados 4
  • 5. Cronograma (60horas) • Dezembro/2008 – 02, 04, 09, 11, 16, 18, 23 -------------------- 2009 -------------------- • Janeiro – 06, 08, 13, 15, 20, 22, 27, 29 • Fevereiro – 03, 05, 10, 12, 17, 19, 26 • Março – 03, 05, 10, 12, 17, 24, 26, 31 • Abril – 02, 07, 14, 16, 20 5
  • 6. Sumário • Definição • Metas • Tipos de Sistemas Distribuídos 6
  • 7. Definição • “Um sistema distribuído (SD) é um conjunto de computadores independentes que se apresenta a seus usuários como um sistema único e coerente” (Tanenbaum) • “Um sistema em que componentes de hardware e software localizados em computadores em rede se comunicam e coordenam suas ações por passagem de mensagens” (Coulouris et al.) • Implica em: concorrência, ausência de relógio global e falhas isoladas e independentes • Motivação: compartilhamento de recursos 7
  • 8. Definição Sistemas Distribuídos “Você que tem um quando a falha de um computador do qual você nunca ouviu falar impede que você faça qualquer trabalho” 8
  • 9. Definição Arquitetura geral de um SD • Middleware: camada de software que se estende por várias máquinas e oculta das aplicações as diferenças em hardware e sistemas operacionais 9
  • 10. Sumário • Definição • Metas • Tipos de Sistemas Distribuídos 10
  • 11. Metas • Acesso a recursos • Transparência da distribuição • Escalabilidade • Confiabilidade • Flexibilidade • Desempenho • Heterogeneidade • Segurança 11
  • 12. Metas • Acesso/compartilhamento de recursos – Considerada PRINCIPAL META – Tipos de recursos • Impressoras, computadores, dados, Hds etc. – Um SD deve oferecer fácil acesso a recursos remotos e compartilhamento eficiente/controlado – Compartilhamento de recursos induz a economia 12
  • 13. Metas • Acesso a recursos • Transparência da distribuição • Escalabilidade • Confiabilidade • Flexibilidade • Desempenho • Heterogeneidade • Segurança 13
  • 14. Metas • Transparência da distribuição – Oculta o fato de recursos estarem distribuídos – Um SD se apresenta a usuários e aplicações como um sistema único (TRANSPARENTE) – Tipos de transparências • Acesso, Localização, Migração, Relocação, Replicação, Concorrência e Falha 14
  • 15. Metas Transparência da distribuição (cont.) • Acesso – Trata de ocultar diferenças em representação de dados (máquinas com arquiteturas diferentes) – Diferenças entre sistemas de nomeação e como arquivos são manipulados • Localização – O nome do recurso deve ser independente de sua localização física (sist. nomeação tem papel importante) – Nomes lógicos (URL): usuário acessa recursos da independente de onde ele está 15
  • 16. Metas Transparência da distribuição (cont.) • Migração – Objetos podem migrar de uma máquina a outra por questões de desempenho, confiabilidade, segurança etc. – Deve • Ser feita de forma automática pelo sistema • Manter nome do objeto • Garantir continuidade de comunicação 16
  • 17. Metas Transparência da distribuição (cont.) • Relocação – Oculta que um recurso (notebook) possa ser movido para outra localização durante o uso – Quando um usuário é móvel? • Um notebook se movimentando dentro da mesma área de cobertura (não é móvel) • Um automóvel passando por várias redes de acesso sem fio, com conexão ininterrupta (móvel) • Um notebook numa lanchonete sem necessidade de conectividade durante trajetória (móvel) 17
  • 18. Metas Transparência da distribuição (cont.) • Replicação – Permite que várias instâncias de recursos sejam usadas para aumentar a confiabilidade e o desempenho – Deve • Mascarar o conhecimento das réplicas por parte dos usuários ou dos programadores de aplicativos 18
  • 19. Metas Transparência da distribuição (cont.) • Concorrência – Coordenar acessos a recursos compartilhados • Ordenação de eventos: todos usuários ter uma mesma visão do sistema • Garantir exclusão mútua • Evitar postergação indefinida • Evitar deadlocks • Tolerar falhas, detectar e recuperar falhas 19
  • 20. Metas • Transparência da distribuição (sumário) 20
  • 21. Metas • Acesso a recursos • Transparência da distribuição • Abertura • Escalabilidade • Confiabilidade • Flexibilidade • Desempenho • Heterogeneidade • Segurança 21
  • 22. Metas • Abertura – SD aberto oferece serviços de acordo com regras padronizadas para descreverem a sintaxe e semântica dos serviços • Ex: Em redes, existe a padronização de protocolos que regem o conteúdo, formato e significado das mensagens • Em SDs, os serviços são especificados por IDLs – IDLs capturam a sintaxe dos serviço (especificam nome das funções, tipos de parâmetros, valores de retorno, exceções etc. – Especificação da semântica (parte complicada) 22
  • 23. Metas • Acesso a recursos • Transparência da distribuição • Abertura • Escalabilidade • Confiabilidade • Flexibilidade • Desempenho • Heterogeneidade • Segurança 23
  • 24. Metas • Escalabilidade – De tamanho • Entrada de vários usuários ao sistema – Geográfica • Usuários e recursos devem estar longe uns dos outros – Administrativa • Envolvimento de várias organizações administrativas 24
  • 25. Metas • Escalabilidade/Problemas (tamanho) 25
  • 26. Metas • Escalabilidade/Problemas (geográfica) 26
  • 27. Metas • Escalabilidade/Problemas (administrativa) 27
  • 28. Metas • Escalabilidade/Técnicas – Ocultar latências (geográfica) • Idéia: evitar o tempo de resposta a req. remotas • Comunicação assíncrona: execução de outros trabalhos – Distribuição • Idéia: dividir um componente em partes e espalhar pelo sistema • Ex: DNS e Web – Replicação / Cache • Idéia: replicar recursos para aumentar disponibilidade 28
  • 29. Metas • Escalabilidade/Técnicas – Ocultar latências: Aplicações interativas não usam comunicação assíncrona • Solução: uso de formulários Diferença entre deixar um servidor ou um cliente verificar formulários 29
  • 30. Metas • Escalabilidade/Técnicas – Distribuição Divisão do espaço de nomes do DNS em zonas 30
  • 31. Metas • Escalabilidade/Técnicas – Replicação/Cache (*) Replicação: decisão do proprietário Cache: decisão do cliente (*) Problema de consistência de dados 31
  • 32. Metas • Acesso a recursos • Transparência da distribuição • Escalabilidade • Confiabilidade • Flexibilidade • Desempenho • Heterogeneidade • Segurança 32
  • 33. Metas • Confiabilidade – Tolerar falhas • Habilidade do sistema continuar operacional mesmo na presença de falhas (redundância e controle distribuído) – Detectar e recuperar falhas • Capacidade para detectar ocorrência de falhas e levar o sistema a um estado aceitável para a continuidade da operação (mecanismos de retransmissão de msgs) 33
  • 34. Metas • Acesso a recursos • Transparência da distribuição • Escalabilidade • Confiabilidade • Flexibilidade • Desempenho • Heterogeneidade • Segurança 34
  • 35. Metas • Flexibilidade – Capacidade de modificação e inclusão • Correção/manutenção do sistema sem interrupção do serviço • Inclusão de novas funcionalidades e recursos (integração de componentes) 35
  • 36. Metas • Acesso a recursos • Transparência da distribuição • Escalabilidade • Confiabilidade • Flexibilidade • Desempenho • Heterogeneidade • Segurança 36
  • 37. Metas • Desempenho – Objetivo: transformar o desempenho tão bom quanto, ou mesmo superior, a de um sistema centralizado – Técnicas básicas • Uso da cache • Minimizar a necessidade de transferência de dados e sincronização • Explorar uso de paralelismo de alta granularidade (threads, concorrência etc.) 37
  • 38. Metas • Acesso a recursos • Transparência da distribuição • Escalabilidade • Confiabilidade • Flexibilidade • Desempenho • Heterogeneidade • Segurança 38
  • 39. Metas • Heterogeneidade – Objetivo: permitir a interação de sistemas diferentes tanto em nível de software como de hardware • Inclui diferentes SOs e linguagens de programação – Técnicas básicas • Uso de protocolos • Uso de formatos comuns para representação de dados (XDR, XML etc.) • Camadas de adaptação (Middleware) 39
  • 40. Metas • Acesso a recursos • Transparência da distribuição • Escalabilidade • Confiabilidade • Flexibilidade • Desempenho • Heterogeneidade • Segurança 40
  • 41. Metas • Segurança – Objetivo: proteção recursos compartilhados e manutenção da confiabilidade de dados – Deve considerar mecanismos para: • Autenticação • Autorização • Integridade • Confidencialidade • Autenticidade – Técnicas de criptografia – Preocupação com ataques (DoS, DDoS) 41
  • 42. Sumário • Definição • Metas • Tipos de Sistemas Distribuídos 42
  • 43. Tipos de SDs • Sistemas de Computação Distribuídos • Sistemas de Informação Distribuídos • Sistemas Embutidos Distribuídos 43
  • 44. Tipos de SDs • Sistemas de Computação Distribuídos – Sistemas de computação de clusters – Sistemas de computação em grade (grids) 44
  • 45. Tipos de SDs • Sistemas de computação de clusters – Conjunto de estações de trabalho ou PCs semelhantes, conectados por meio de uma rede de alta velocidade – Cada nó executa o mesmo SO – Hardware subjacente homogêneo – Usado para processamento paralelo – único programa executado em várias máquinas 45
  • 46. Tipos de SDs • Ex: Cluster Beowulf – Nó mestre (middleware) • Aloca nós de computação a um determinado programa paralelo, mantém uma fila de jobs e gerencia o cluster – Nó de computação • SO padrão 46
  • 47. Tipos de SDs • Sistemas de computação em grade (grids) – SDs montados como federação de computadores, na qual cada sistema pode cair sob um sistema administrativo diferente, e pode ser muito diferente no que tange a hardware, software e tecnologia empregada – Apresentam alto grau de heterogeneidade – Software usado para permitir acesso a recursos (e.g. muitas vezes clusters) de diferentes organizações reunidos para permitir a colaboração de um grupo (conceito de organização virtual) – Foco dirigido para a arquitetura 47
  • 48. Tipos de SDs • Sistemas Distribuídos Pervasivos – Dispositivos de computação móveis e embutidos • Pequeno porte • Alimentação por bateria – Ausência geral de controle humano – Exemplos • Sistemas doméstios • Redes de sensores • Sistemas eletrônicos para tratamento de saúde 48