sistemas distribuidos
Coleção de computadores autônomos conectados por rede, equipados com software distribuído.
Características:
• concorrência
• compartilhamento de recursos
• hardware: impressoras, CDs
• informação: arquivos, dados
• transparência
• escalabilidade
• tolerância a falhas / disponibilidade
• redundância: sofware ou hardware
• recuperação por software
Introdução
3
Sistema Distribuído
CABUM!
Vantagens:
• Maior poder computacional: concorrência
• Menor atraso no acesso, que pode ser feito em um computador
“próximo”.
• Separação física possibilita falhas independentes
Observação:
• computação distribuída × computação paralela a transferência de informação tem “custo” não desprezível
Introdução
memória compartilhada
4
Sistema Distribuído
Está sol em A
Chove em
A
A
Problema:
A separação física impede que um nó tenha conhecimento do estado global do sistema em um dado instante.
• atrasos indeterminados na comunicação
• falhas
Introdução
5
Aspectos Tecnológicos
Redes
• Tecnologia: ethernet, token ring, ATM, FDDI
• Protocolos: TCP, UDP, IP, FLIP
Comunicação entre processos
• Sockets, RPC
Nomeação
• DNS, URL
Transações
• Controle de concorrência, atomicidade, tolerância a falhas
Sistemas Operacionais Distribuídos
• Mach, Chorus, Amoeba
Introdução
6
Elementos Básicos
Processos + Rede de Comunicação
a) Processos
• texto + dados
• consideramos apenas processos sequenciais na maioria dos algoritmos process Pi; int x,y; begin loop select necessário:
• primitivas de comunicação • estrutura de controle não determinística
receive x from Pj =>
or when (x > y) receive i from Pk =>
end end end.
Introdução
7
Elementos Básicos
b) Rede de Comunicação
Topologias:
• anel
•
estrela
•
árvore
•
totalmente conexa
Processo, nó
A topologia normalmente se refere à estrutura ideal para execução do software, não reflete