SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
Sistemas
Distribuídos
Aula 2 – Introdução aos Sistemas Distribuídos
Sumário
• I n t r o d u ç ã o a o s S i s t e m a s D i s t r i b u í d o s ;
• D e f i n i ç ã o e c a r a c t e r í s t i c a s d e S D s ;
• Va n t a g e n s e I n c o n v e n i ê n c i a s d e S D s ;
• N e c e s s i d a d e s e d e s a f i o s d e S D s
• E x em p los e Objetivos.
História
• Computadores iniciais: Caros e grandes
• Anos 50 e 60
• Multiprogramação: diversos programas executados
concorrentemente pela CPU
❖Objetivo: otimizar a utilização da CPU
• Início dos anos 60: Sistemas Time Sharing
✓Evolução do hardware: Redução do tamanho, do
preço, aumento da velocidade
• Primeiro passo na direção dos Sistemas Distribuídos
✓ Incorpora dois conceitos fundamentais:
❖ Partilha de recursos
❖ Acesso remoto
3
História (Cont.)
• Final dos anos 60 e início dos anos 70: Surgimento das redes
• Final dos anos 60 e início dos anos 70: Unix
• Final dos anos 70: Protocolo TCP/IP
✓Início dos anos 80: Estações de trabalho
✓Início dos anos 80: microprocessadores e estações de trabalho
✓redução do custo (em relação aos mainframes)
• Final dos anos 80: estações de trabalho ligadas em rede
✓diversos serviços para comunicação entre pessoas/máquinas
❖ FTP, TELNET, E-mail...
4
Motivação
• Avanços em microeletrônica (processadores mais rápidos e baratos)
• Avanços em comunicações
✓redes mais eficientes e confiáveis
• Popularidade das redes de computadores
✓redes de telefonia móvel, redes corporativas, redes caseiras
✓redes de computadores de alta velocidade (Myrinet ~2Gb/s)
• Partilha de recursos
✓Componentes de Hardware (disco, impressora)
✓Software (Ficheiros, bases de dados, programas)
✓Outros (vídeo, áudio)
5
Sistemas Distribuídos
O que é um sistema distribuído?
A collection of independent computers
that appears to its users as a single
coherent system (Tanenbaum, 2023).
Sistema computacional com diversas partes
Diferentes programas a executar em diferentes
computadores;
Partes interagem para oferecer funcionalidades.
Principais Características
Qual principal característica de um
sistema distribuído?
diferença com sistemas centralizados
Comunicação
Diferentes partes precisam comunicar
para se computar
comunicação →troca de informação
Fonte de grandes problemas
muito mais difícil de construir
Principais Características (Cont.)
•Processos são executados concorrentemente
✓não existe um controle global
✓processos utilizam troca de mensagens para coordenar suas ações
•Inexistência de relógio global
✓noção de tempo global é importante na coordenação de processos
✓sincronização de relógios possui um limite de precisão
•Falhas independentes
✓a falha de um dos componentes (rede, máquinas, programas) não
implica a falha do sistema como um todo.
8
Vantagens de SDs
❑ Maior funcionalidade
✓ as vezes não é possível a solução ser centralizado;
❑ Maior escalabilidade
✓ Responde a grandes necessidades;
❑ Maior robustez
✓ Funciona mesmo com falhas;
❑ Maior transparência
✓ Esconde do utilizador aspetos irrelevantes
❑ Facilidade de expansão
✓ permite aumentar o poder de processamento
/armazenamento sem desfazer daquilo que já
possui, isto é, de maneira gradativa
Desvantagens dos SDs
•Maior dificuldade na garantia de segurança;
•Maior complexidade no desenvolvimento das
soluções;
•Gestão de recursos mais complexa;
•Alto custo para implementar aplicações colaborativas
• Causas:
✓recursos são fisicamente separados
✓mensagens podem atrasar
✓mensagens podem ser perdidas
✓Entre outros aspetos
10
Necessidades e desafios
• Comunicação segura
✓Quem enviou ?
✓Os dados foram modificados durante a transmissão?
✓Alguém não autorizado teve acesso aos dados?
• Confiabilidade em um ambiente não confiável
✓Máquinas podem falhar, mas o SD deve falhar parcialmente
✓Internet é uma rede não segura;
• Localização
✓colocar os recursos em um determinado local e permitir a localização destes
recursos quando necessário
• Coordenação
✓acordo entre os componentes distribuídos sobre o que fazer e de que forma
11
Exemplo Genérico
Vários tipos de
“computadores”
Vários tipos de papel
(role)
Várias formas de
comunicação
Várias camadas
lógicas
* Retirado de um artigo científico que propõe uma arquitetura para a
aplicação de localização de dispositivos em ambientes internos
Heterogêneo!
Exemplo Específico: Email
Vários tipos de
“computadores”
Vários tipos de
papel (role)
Várias formas de
comunicação
Várias camadas
lógicas
Realidade ainda mais complicada!
Vários tipos de
“computadores”
Vários tipos de
papel (role)
Várias formas de
comunicação
Várias camadas
lógicas
Realidade ainda mais complicado
Exemplo Específico: Jogos
Outros Exemplos
•Amazon Marketplace
•Google
•Yahoo
•Facebook
•Twiter
•Youtube
Presença Definitiva
Sistemas distribuídos veio para ficar;
Praticamente tudo que utilizamos hoje faz
parte de algum sistema distribuído;
Exemplo de sistema não distribuído?
Jogos simples, como xadrez ou tetris;
Simulação ou computação numérica;
Algoritmo de Dijkstra para encontrar distâncias.
Mas temos versões distribuídas
de todos estes exemplos!
Computação Distribuidos Vs Paralela
Sistemas forte e fracamente acoplado
Partilha de memoria; comunicação frequente
Objetivos da Disciplina
Quais os desafios ao construir um
sistema distribuído?
Como tais desafios são superados?
Estudo de aspetos e técnicas gerais
encontradas em muitos sistemas distribuídos
Foco em técnicas e não em tecnologias
ex. Cliente/Servidor x HTTP
Muitos!
Exemplo: Ordenação
Exemplo: Coordenação
Dúvidas…
FIM 21

Mais conteúdo relacionado

Semelhante a Introdução aos Sistemas Distribuídos

Aula 1 - Introducao.pdf
Aula 1 - Introducao.pdfAula 1 - Introducao.pdf
Aula 1 - Introducao.pdfRoberto Aragy
 
Sistemas distribuídos aula 1
Sistemas distribuídos aula 1Sistemas distribuídos aula 1
Sistemas distribuídos aula 1Renato William
 
ACII - SL07 - Introducao aos sistemas distribuidos
ACII - SL07 - Introducao aos sistemas distribuidosACII - SL07 - Introducao aos sistemas distribuidos
ACII - SL07 - Introducao aos sistemas distribuidosUFPB
 
Apostila redes locais de computadores
Apostila redes locais de computadoresApostila redes locais de computadores
Apostila redes locais de computadoresfernandao777
 
Ferramentas de Programação Paralela para Arquiteturas Multicore
Ferramentas de Programação Paralela para Arquiteturas MulticoreFerramentas de Programação Paralela para Arquiteturas Multicore
Ferramentas de Programação Paralela para Arquiteturas MulticoreHelton Ritter
 
Introdução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosIntrodução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosFrederico Madeira
 
Sistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidosSistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidosrobsons75
 
Apresentação GT - Digital Preservation
Apresentação GT - Digital PreservationApresentação GT - Digital Preservation
Apresentação GT - Digital PreservationRoberto Beraldo Chaiben
 
Cartão de memória - Bruno Lopes
Cartão de memória - Bruno LopesCartão de memória - Bruno Lopes
Cartão de memória - Bruno Lopessecretstellmeyour
 
P2P - Sistemas Distribuídos
P2P - Sistemas DistribuídosP2P - Sistemas Distribuídos
P2P - Sistemas DistribuídosGustavo Monteiro
 
Implemenção_de_Rede_Lan_BRUNO_WALTER_ALPEGA
Implemenção_de_Rede_Lan_BRUNO_WALTER_ALPEGAImplemenção_de_Rede_Lan_BRUNO_WALTER_ALPEGA
Implemenção_de_Rede_Lan_BRUNO_WALTER_ALPEGABrnWltrDaTrnn
 
IntroduçãO Ao Desenvolvimento Web 2
IntroduçãO Ao Desenvolvimento Web   2IntroduçãO Ao Desenvolvimento Web   2
IntroduçãO Ao Desenvolvimento Web 2Maurício Linhares
 
Configurando o xp em rede
Configurando o xp em redeConfigurando o xp em rede
Configurando o xp em redeFabio Roberto
 

Semelhante a Introdução aos Sistemas Distribuídos (20)

Aula 1 - Introducao.pdf
Aula 1 - Introducao.pdfAula 1 - Introducao.pdf
Aula 1 - Introducao.pdf
 
Introducao.2s
Introducao.2sIntroducao.2s
Introducao.2s
 
Sistemas distribuídos aula 1
Sistemas distribuídos aula 1Sistemas distribuídos aula 1
Sistemas distribuídos aula 1
 
ACII - SL07 - Introducao aos sistemas distribuidos
ACII - SL07 - Introducao aos sistemas distribuidosACII - SL07 - Introducao aos sistemas distribuidos
ACII - SL07 - Introducao aos sistemas distribuidos
 
Apostila redes locais de computadores
Apostila redes locais de computadoresApostila redes locais de computadores
Apostila redes locais de computadores
 
Ferramentas de Programação Paralela para Arquiteturas Multicore
Ferramentas de Programação Paralela para Arquiteturas MulticoreFerramentas de Programação Paralela para Arquiteturas Multicore
Ferramentas de Programação Paralela para Arquiteturas Multicore
 
Introdução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosIntrodução aos Sistemas Distribuídos
Introdução aos Sistemas Distribuídos
 
Sistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidosSistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidos
 
Apresentação GT - Digital Preservation
Apresentação GT - Digital PreservationApresentação GT - Digital Preservation
Apresentação GT - Digital Preservation
 
Cartão de memória - Bruno Lopes
Cartão de memória - Bruno LopesCartão de memória - Bruno Lopes
Cartão de memória - Bruno Lopes
 
P2P - Sistemas Distribuídos
P2P - Sistemas DistribuídosP2P - Sistemas Distribuídos
P2P - Sistemas Distribuídos
 
Implemenção_de_Rede_Lan_BRUNO_WALTER_ALPEGA
Implemenção_de_Rede_Lan_BRUNO_WALTER_ALPEGAImplemenção_de_Rede_Lan_BRUNO_WALTER_ALPEGA
Implemenção_de_Rede_Lan_BRUNO_WALTER_ALPEGA
 
Computação de alta performance
Computação de alta performanceComputação de alta performance
Computação de alta performance
 
TA1 - Slides Acessibilidade.pdf
TA1 - Slides Acessibilidade.pdfTA1 - Slides Acessibilidade.pdf
TA1 - Slides Acessibilidade.pdf
 
Redes
RedesRedes
Redes
 
2012 redes aula01
2012 redes aula012012 redes aula01
2012 redes aula01
 
IntroduçãO Ao Desenvolvimento Web 2
IntroduçãO Ao Desenvolvimento Web   2IntroduçãO Ao Desenvolvimento Web   2
IntroduçãO Ao Desenvolvimento Web 2
 
Configurando o xp em rede
Configurando o xp em redeConfigurando o xp em rede
Configurando o xp em rede
 
Redes 1
Redes 1Redes 1
Redes 1
 
Automação de bibliotecas
Automação de bibliotecasAutomação de bibliotecas
Automação de bibliotecas
 

Introdução aos Sistemas Distribuídos

  • 1. Sistemas Distribuídos Aula 2 – Introdução aos Sistemas Distribuídos
  • 2. Sumário • I n t r o d u ç ã o a o s S i s t e m a s D i s t r i b u í d o s ; • D e f i n i ç ã o e c a r a c t e r í s t i c a s d e S D s ; • Va n t a g e n s e I n c o n v e n i ê n c i a s d e S D s ; • N e c e s s i d a d e s e d e s a f i o s d e S D s • E x em p los e Objetivos.
  • 3. História • Computadores iniciais: Caros e grandes • Anos 50 e 60 • Multiprogramação: diversos programas executados concorrentemente pela CPU ❖Objetivo: otimizar a utilização da CPU • Início dos anos 60: Sistemas Time Sharing ✓Evolução do hardware: Redução do tamanho, do preço, aumento da velocidade • Primeiro passo na direção dos Sistemas Distribuídos ✓ Incorpora dois conceitos fundamentais: ❖ Partilha de recursos ❖ Acesso remoto 3
  • 4. História (Cont.) • Final dos anos 60 e início dos anos 70: Surgimento das redes • Final dos anos 60 e início dos anos 70: Unix • Final dos anos 70: Protocolo TCP/IP ✓Início dos anos 80: Estações de trabalho ✓Início dos anos 80: microprocessadores e estações de trabalho ✓redução do custo (em relação aos mainframes) • Final dos anos 80: estações de trabalho ligadas em rede ✓diversos serviços para comunicação entre pessoas/máquinas ❖ FTP, TELNET, E-mail... 4
  • 5. Motivação • Avanços em microeletrônica (processadores mais rápidos e baratos) • Avanços em comunicações ✓redes mais eficientes e confiáveis • Popularidade das redes de computadores ✓redes de telefonia móvel, redes corporativas, redes caseiras ✓redes de computadores de alta velocidade (Myrinet ~2Gb/s) • Partilha de recursos ✓Componentes de Hardware (disco, impressora) ✓Software (Ficheiros, bases de dados, programas) ✓Outros (vídeo, áudio) 5
  • 6. Sistemas Distribuídos O que é um sistema distribuído? A collection of independent computers that appears to its users as a single coherent system (Tanenbaum, 2023). Sistema computacional com diversas partes Diferentes programas a executar em diferentes computadores; Partes interagem para oferecer funcionalidades.
  • 7. Principais Características Qual principal característica de um sistema distribuído? diferença com sistemas centralizados Comunicação Diferentes partes precisam comunicar para se computar comunicação →troca de informação Fonte de grandes problemas muito mais difícil de construir
  • 8. Principais Características (Cont.) •Processos são executados concorrentemente ✓não existe um controle global ✓processos utilizam troca de mensagens para coordenar suas ações •Inexistência de relógio global ✓noção de tempo global é importante na coordenação de processos ✓sincronização de relógios possui um limite de precisão •Falhas independentes ✓a falha de um dos componentes (rede, máquinas, programas) não implica a falha do sistema como um todo. 8
  • 9. Vantagens de SDs ❑ Maior funcionalidade ✓ as vezes não é possível a solução ser centralizado; ❑ Maior escalabilidade ✓ Responde a grandes necessidades; ❑ Maior robustez ✓ Funciona mesmo com falhas; ❑ Maior transparência ✓ Esconde do utilizador aspetos irrelevantes ❑ Facilidade de expansão ✓ permite aumentar o poder de processamento /armazenamento sem desfazer daquilo que já possui, isto é, de maneira gradativa
  • 10. Desvantagens dos SDs •Maior dificuldade na garantia de segurança; •Maior complexidade no desenvolvimento das soluções; •Gestão de recursos mais complexa; •Alto custo para implementar aplicações colaborativas • Causas: ✓recursos são fisicamente separados ✓mensagens podem atrasar ✓mensagens podem ser perdidas ✓Entre outros aspetos 10
  • 11. Necessidades e desafios • Comunicação segura ✓Quem enviou ? ✓Os dados foram modificados durante a transmissão? ✓Alguém não autorizado teve acesso aos dados? • Confiabilidade em um ambiente não confiável ✓Máquinas podem falhar, mas o SD deve falhar parcialmente ✓Internet é uma rede não segura; • Localização ✓colocar os recursos em um determinado local e permitir a localização destes recursos quando necessário • Coordenação ✓acordo entre os componentes distribuídos sobre o que fazer e de que forma 11
  • 12. Exemplo Genérico Vários tipos de “computadores” Vários tipos de papel (role) Várias formas de comunicação Várias camadas lógicas * Retirado de um artigo científico que propõe uma arquitetura para a aplicação de localização de dispositivos em ambientes internos Heterogêneo!
  • 13. Exemplo Específico: Email Vários tipos de “computadores” Vários tipos de papel (role) Várias formas de comunicação Várias camadas lógicas Realidade ainda mais complicada!
  • 14. Vários tipos de “computadores” Vários tipos de papel (role) Várias formas de comunicação Várias camadas lógicas Realidade ainda mais complicado Exemplo Específico: Jogos
  • 16. Presença Definitiva Sistemas distribuídos veio para ficar; Praticamente tudo que utilizamos hoje faz parte de algum sistema distribuído; Exemplo de sistema não distribuído? Jogos simples, como xadrez ou tetris; Simulação ou computação numérica; Algoritmo de Dijkstra para encontrar distâncias. Mas temos versões distribuídas de todos estes exemplos!
  • 17. Computação Distribuidos Vs Paralela Sistemas forte e fracamente acoplado Partilha de memoria; comunicação frequente
  • 18. Objetivos da Disciplina Quais os desafios ao construir um sistema distribuído? Como tais desafios são superados? Estudo de aspetos e técnicas gerais encontradas em muitos sistemas distribuídos Foco em técnicas e não em tecnologias ex. Cliente/Servidor x HTTP Muitos!