sistemas distribuídos. definições de sd "um sistema distribuído é uma coleção de...

16
Sistemas Distribuídos

Upload: internet

Post on 21-Apr-2015

110 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemas Distribuídos. Definições de SD "Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede e equipados com um sistema

Sistemas Distribuídos

Page 2: Sistemas Distribuídos. Definições de SD "Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede e equipados com um sistema

Definições de SD

• "Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede e equipados com um sistema de software distribuído."

Page 3: Sistemas Distribuídos. Definições de SD "Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede e equipados com um sistema

• Portanto, podemos definir um SD como uma coleção de computadores independentes que aparenta aos usuários do sistema como se fosse um único computador. Nesta definição devemos considerar dois aspectos:

• 1. hardware: máquinas autônomas, independentes e heterogêneas.

• 2. software: os usuários pensam no sistema como um único computador.

Page 4: Sistemas Distribuídos. Definições de SD "Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede e equipados com um sistema

Exemplos de SD• Uma rede de estações de trabalho em

uma universidade ou companhia• Uma rede de computadores em uma

fábrica• Um grande banco com muitas agências,

cada qual com um computadores e caixas automáticas

Page 5: Sistemas Distribuídos. Definições de SD "Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede e equipados com um sistema
Page 6: Sistemas Distribuídos. Definições de SD "Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede e equipados com um sistema

Vantagens de SD• compartilhamento de dados: base de

dados comum;• compartilhamento de dispositivos:

acesso compartilhado a periféricos;• comunicação: torna-se mais simples e

mais rápida a comunicação entre pessoas. Além disso, é possível: transferência de arquivos entre nós, login remoto, etc;

Page 7: Sistemas Distribuídos. Definições de SD "Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede e equipados com um sistema

• flexibilidade: dividir a carga de trabalho entre os nós da rede;

• performance a baixo custo: preço baixo dos PCs;

• escalabilidade: aumentar o número de nós na medida da necessidade.

Page 8: Sistemas Distribuídos. Definições de SD "Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede e equipados com um sistema

Desvantagens de SD

• Falta de software adequado• Falhas e saturação da rede de

comunicação podem eliminar as vantagens de SD• Segurança pode ser comprometida:

fácil acesso a dados e recursos reservados

Page 9: Sistemas Distribuídos. Definições de SD "Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede e equipados com um sistema

Características básicas de SD

• Compartilhamento de recursos• Extensibilidade • Concorrência• Escalabilidade (crescimento gradativo

suave)• Tolerância a falhas• Transparência

Page 10: Sistemas Distribuídos. Definições de SD "Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede e equipados com um sistema

Compartilhamento de Recursos

• Componentes de hardware:impressoras, discos etc.

• Componentes de software: arquivos, bancos de dados etc.

Page 11: Sistemas Distribuídos. Definições de SD "Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede e equipados com um sistema

Extensibilidade

• Extensões de hardware: periféricos, memória, interfaces de comunicação, ...

• Extensões de software: funções de SO, protocolos de comunicação etc.

• Interfaces chaves são públicas. • Mecanismo uniforme de comunicação

entre processos.

Page 12: Sistemas Distribuídos. Definições de SD "Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede e equipados com um sistema

Concorrência

• Mais de um processo em execução a cada instante:– Atividades separadas de usuários– Independência de recursos– Localização de processos servidores em

computadores distintos• Acesso concorrente a recursos

compartilhados requer sincronização, disponibilidade e segurança.

Page 13: Sistemas Distribuídos. Definições de SD "Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede e equipados com um sistema

Escalabilidade• Suporta o aumento dos recursos e

usuários mantendo um desempenho satisfatório.

• Técnicas: replicação, caching, servidores múltiplos.

Desafios:• Controlar o custo dos recursos físicos• Controlar a perda de performance

(quantidade)• Prevenir esgotamento de recursos (ex: IP)

Page 14: Sistemas Distribuídos. Definições de SD "Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede e equipados com um sistema

Tolerância a falhas• Fornecer o serviço esperado mesmo na

presença de falhas activas. Algumas técnicas empregadas: mascaramento de falhas detecção de erros diagnóstico de erros confinamento de erros recuperação de erros

Page 15: Sistemas Distribuídos. Definições de SD "Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede e equipados com um sistema

Transparência

• Esconder do usuário e do programador de aplicações a separação de componentes em um sistema distribuído, tal que este seja visto como um sistema centralizado

Page 16: Sistemas Distribuídos. Definições de SD "Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede e equipados com um sistema

Transparência Descrição

AcessoEsconde diferenças na representação de dados e como um

recurso é acessado

Localização Esconde onde um recurso está localizado

Migração Esconde que um recurso pode mover-se para outra

localização

RelocaçãoEsconde que um recurso pode ser movido para outra

localização enquanto esta sendo usado

ReplicaçãoEsconde que um recurso está distribuído por vários

servidores.