13. CARACTERIZAÇÃO DE
SISTEMAS DISTRIBUÍDOS
• Concorrência:
• coordenação de programas em execução concorrente e que
compartilham recursos;
13
• Ausência de relógio global
• Falhas de componentes independentes
14. CARACTERIZAÇÃO DE
SISTEMAS DISTRIBUÍDOS
• Concorrência
• Ausência de relógio global:
• existem limites para a precisão com a qual os computadores
podem sincronizar seus relógios em uma rede;
14
• Falhas de componentes independentes
15. CARACTERIZAÇÃO DE
SISTEMAS DISTRIBUÍDOS
• Concorrência
• Ausência de relógio global
• Falhas de componentes independentes:
15
• cada componente pode falhar independentemente dos
demais ainda em funcionamento.
17. EXEMPLOS DE SISTEMAS
DISTRIBUÍDOS
Internet
• Conjunto de redes de computadores interligadas;
• Interação enviando mensagens
• Protocolos
• Permite usar serviços:
17
• World Wide Web
• Email
• Transferência de arquivos
19. EXEMPLOS DE SISTEMAS
DISTRIBUÍDOS
Computação móvel
• Tarefas de computação enquanto o usuário:
19
• Deslocar de um local a outro
• Visitar lugares diferentes de seu ambiente usual.
22. MIGRAÇÃO DE
CÓDIGO
Código que pode ser enviado de um
computador para outro e ser executado no
destino.
Problema
• Programas específicos para um conjunto de
instruções e um sistema operacional.
Máquina virtual
22
• Código é gerado para a máquina virtual, ao invés
de ser gerado para um processador e sistema
operacional específicos.
23. MIDDLEWARE
Camada de software que fornece uma abstração de programação:
•
•
•
•
mascaramento da heterogeneidade das redes
hardware
sistemas operacionais
linguagens de programação
Aplicação
1
Request
Aplicação
2
Response
Middleware
SO 1
SO 2
23
24. SEGURANÇA
Informação disponível em sistemas
distribuídos possui valor
Confidencialidade
• proteção contra exposição para pessoas não
autorizadas
Integridade
• proteção contra alteração ou dano
Disponibilidade
proteção contra interferência com os meios de
acesso aos recursos
24
•
25. ESCALABILIDADE
Sistema eficiente quando há um significativo aumento do
número de recursos e usuários.
Considerar:
Custo dos recursos físicos
Perda de desempenho
Impedir que os recursos de software se esgotem
Gargalos de desempenho.
25
•
•
•
•
26. TRATAMENTO DE
FALHAS
Falhas (hardware ou software) são parciais
• Componentes falham enquanto outros continuam
funcionando.
Considerar:
detecção de falhas,
mascaramento de falhas,
tolerância a falhas,
recuperação de falhas,
redundância.
26
•
•
•
•
•
27. CONCORRÊNCIA DE
COMPONENTES
Recursos são compartilhados pelos clientes em um sistema
distribuído.
27
• Clientes acessam um recurso compartilhado ao mesmo tempo.
• Pedidos tratados concorrentemente gerando resultados
consistentes ao final das transações.
28. TRANSPARÊNCIA
O sistema é percebido como um todo, em vez de
uma coleção de componentes independentes.
Transparência de acesso
• Recursos locais e remotos são acessados com o uso de
operações idênticas
Transparência de localização
28
• Recursos sejam acessados sem conhecimento de sua
localização física
ou na rede