Introdução Sistemas Distribuidos

1,957 views
1,781 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,957
On SlideShare
0
From Embeds
0
Number of Embeds
17
Actions
Shares
0
Downloads
43
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Introdução Sistemas Distribuidos

  1. 1. Introdução aos Sistemas Distribuídos Alexandre Bragança 2001 DEI / ISEP baseado em “Tecnologia de Sistemas Distribuídos”, Marques e Guedes, FCA
  2. 2. Sistemas Distribuídos <ul><li>Aplicação Distribuida </li></ul><ul><li>Sistema Distribuido </li></ul><ul><li>Suporte </li></ul><ul><ul><li>Redes </li></ul></ul><ul><ul><li>Sistemas Operativos </li></ul></ul><ul><ul><li>Linguagens </li></ul></ul><ul><ul><li>Modelos </li></ul></ul><ul><ul><li>... </li></ul></ul>
  3. 3. Evolução <ul><li>Condicionantes Tecnológicas </li></ul><ul><ul><li>Redes de Computadores </li></ul></ul><ul><ul><li>Computadores Pessoais </li></ul></ul><ul><ul><li>Sistemas Abertos </li></ul></ul><ul><ul><li>Arquitecturas Multiprocessador </li></ul></ul>
  4. 4. Evolução <ul><li>Condicionantes dos Utilizadores </li></ul><ul><ul><li>Utilizadores Finais </li></ul></ul><ul><ul><ul><li>Partilha de informação, comunicação, transparência, ... </li></ul></ul></ul><ul><ul><li>Programadores </li></ul></ul><ul><ul><ul><li>Normalização de interfaces, independência de tipo de arquitectura, ... </li></ul></ul></ul><ul><ul><li>Gestores </li></ul></ul><ul><ul><ul><li>Evolução, extensibilidade, fiabilidade, gestão global do sistema, ... </li></ul></ul></ul>
  5. 5. Problemas Introduzidos <ul><li>Comunicação por mensagem </li></ul><ul><ul><li>vs espaço de endereçamento partilhado </li></ul></ul><ul><li>Modelo de Faltas </li></ul><ul><ul><li>Uma definição de sistema distribuido é a seguinte: </li></ul></ul><ul><ul><ul><li>“ está-se a usar um sistema distribuido quando a falha de um computador de que nunca se ouviu falar nos impede de continuar a trabalhar” </li></ul></ul></ul><ul><li>Desempenho </li></ul>
  6. 6. Problemas Introduzidos <ul><li>Distribuição do Sistema Operativo </li></ul><ul><ul><li>Software do sistema repartido entre várias máquinas -> problemas de sincronização </li></ul></ul><ul><li>Segurança </li></ul><ul><ul><li>Este tipo de sistema está mais vulnerável a problemas de segurança </li></ul></ul><ul><li>Heterogeneidade </li></ul><ul><ul><li>Arquitecturas diversas, diversas representações de dados (Ex: ASCII vs EBCDIC </li></ul></ul>
  7. 7. Vantagens <ul><li>Adequação à Repartição Geográfica </li></ul><ul><li>Modularidade </li></ul><ul><li>Extensibilidade </li></ul><ul><li>Maior Disponibilidade </li></ul><ul><li>Desempenho Optimizado </li></ul><ul><li>Custo ( downsizing ) </li></ul>
  8. 8. Abordagens Possiveis <ul><li>… para Software que executa em Sistemas Computacionais que não partilham uma memória comum </li></ul><ul><li>Programação directa sobre o periférico que permite comunicar com outro sistema </li></ul>
  9. 9. Abordagens Possiveis <ul><li>Bibliotecas de funções ou interfaces de programação normalizados (Ex: Sockets ) </li></ul><ul><li>Aplicações standard construidas sobre esses interfaces (Ex: telnet, ftp) </li></ul>
  10. 10. Abordagens Possiveis <ul><li>Plataformas Cliente/Servidor </li></ul><ul><ul><li>Consistem numa evolução das interfaces anteriores </li></ul></ul><ul><ul><ul><li>Este tipo de ambientes implementam serviços adicionais: </li></ul></ul></ul><ul><ul><ul><ul><li>RPC </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Gestão de nomes </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Segurança </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Sincronização de relógios </li></ul></ul></ul></ul><ul><ul><ul><ul><li>etc. </li></ul></ul></ul></ul>
  11. 11. Abordagens Possiveis <ul><li>Sistema Operativo Distribuido </li></ul><ul><li>Por exemplo: </li></ul><ul><li>“ Se a gestão de processos for realizada de forma integrada, os processos passam a ser entidades com capacidade de migrar entre as máquinas existentes no sistema.” </li></ul>
  12. 12. Arquitecturas Multiprocessador <ul><li>Multiprocessadores de Memória Partilhada </li></ul><ul><ul><li>Uma cópia do SO executa simultaneamente e em paralelo em todos os processadores </li></ul></ul><ul><ul><li>Problemas de sincronização mesmo relativamente ao código dos sistemas operativos </li></ul></ul><ul><ul><li>Os programas do utilizador também devem ser diferentes para tirar partido dos processadores ( threads ) </li></ul></ul>
  13. 13. Arquitecturas Multiprocessador <ul><li>Multiprocessadores de Memória Distribuida </li></ul><ul><ul><li>Processadores com uma memória privada interligados por uma rede de alto débito </li></ul></ul><ul><ul><li>Processadores apenas comunicam por troca de mensagens </li></ul></ul><ul><ul><li>A rede de interligação é geralmente fiável </li></ul></ul><ul><ul><li>Todos os processadores correm o mesmo sistema operativo </li></ul></ul><ul><ul><li>Utilizador tem uma visão do sistema idêntica a um sistema centralizado </li></ul></ul>
  14. 14. Protocolos A API Sockets
  15. 15. Comunicações UDP
  16. 16. Comunicação TCP

×