21
Sistemas Distribuídos Introdução Frederico Madeira LPIC-1, LPIC-2, CCNA [email protected] www.madeira.eng.br

Introdução aos Sistemas Distribuídos

Embed Size (px)

DESCRIPTION

Introdução aos Sistemas Distribuídos

Citation preview

Page 1: Introdução aos Sistemas Distribuídos

Sistemas DistribuídosIntrodução

Frederico MadeiraLPIC­1, LPIC­2, [email protected]

Page 2: Introdução aos Sistemas Distribuídos

Referências

- Coulouris, G.;Dollimore, J.; Kindberg, T.; SISTEMAS DISTRIBUIDOS CONCEITOS E PROJETO. Capítulo 1.

Page 3: Introdução aos Sistemas Distribuídos

Conceito Formal

Definimos um sistema distribuído como sendo aquele no qual os componentes de hardware ou software, localizados em computadores interligados em rede, se comunicam e coordena suas ações apenas enviando mensagens entre si.

[Coulourus, G.; Dollimore, J.; Kindberg, T. Sistemas Distribuídos Conceitos e Projeto]

Page 4: Introdução aos Sistemas Distribuídos

Consequências da Definição

✔ Concorrência: Execução concorrente de programas. A capacidade de execução concorrente pode ser ampliada com a adição de novos computadores ao sistema.

✔ Inexistência de um relógio global: Quando os programas precisam cooperar, eles coordenam suas ações através da troca de mensagens;

✔ Falhas independentes: Falhas são inerentes. Cada componente do sistema pode falhar independentemente, deixando a inda os outros em funcionamento;

Page 5: Introdução aos Sistemas Distribuídos

Uma Breve IntroduçãoOs sistemas distribuídos podem ainda ser definidos como :✔ Uma coleção de computadores independentes que aparecem

para o usuário como um único sistema;

✔ Sistemas autônomos interconectados por uma rede de comunicação;

✔ Processadores distribuídos cooperando para execução de processos, compartilhamento de recursos;

✔ Um sistema distribuído organizado como middleware, onde o nível de middleware abrange múltiplas maquinas.

Page 6: Introdução aos Sistemas Distribuídos

Exemplos de Sistemas Distribuídos- A Internet

Page 7: Introdução aos Sistemas Distribuídos

Exemplos de Sistemas Distribuídos

A Internet

- Os protocolos permitem que um programa em execução em qualquer lugar envie mensagens para programas em qualquer outro lugar

- Conjunto de serviços aberto, ou seja, pode ser ampliado com a adição de novos computadores e servidores e novos tipos de serviço

Page 8: Introdução aos Sistemas Distribuídos

Exemplos de Sistemas Distribuídos- Intranets

Page 9: Introdução aos Sistemas Distribuídos

Exemplos de Sistemas Distribuídos

Intranets

- Parte da Internet administrada separadamente

- Composta por várias redes locais interligadas por backbones

- Tamanho pode variar desde um único site a múltiplos sites.

Page 10: Introdução aos Sistemas Distribuídos

Exemplos de Sistemas Distribuídos- Computação Móvel e Ubíqua

Page 11: Introdução aos Sistemas Distribuídos

Exemplos de Sistemas Distribuídos

Computação Móvel e Ubíqua

- Exemplos: notebooks, PDA, telefones móveis, dispositivos incorporado em aparelhos como máquinas de lavar, carros, geladeiras, etc..

- Computação Móvel é a capacidade de um dispositivo computacional e os serviços associados ao mesmo serem móveis, permitindo este ser carregado ou transportado mantendo-se conectado a rede ou a Internet.

- Computação Ubíqua é a capacidade de estar conectado à rede e fazer uso da conexão a todo o momento

Page 12: Introdução aos Sistemas Distribuídos

Compartilhamento de Recursos

Page 13: Introdução aos Sistemas Distribuídos

Compartilhamento de RecursosPrincipal motivação para criação de SD's.

- Exemplos de recursos: hardware, dados, sistemas

Na Web, os recursos são publicados através de URL (Uniform Resource Locator)

http://www.cdk4.net

http://www.w3.org/Protocols/Activity.html#intro

http://www.google.com/search?q=kindberg

Nome do Servidor DNS

Nome do Caminho Consulta Fragmento

www.cdk4.net (padrão) (nenhuma) (nenhum)

www.w3.org Protocols/Activity.html (nenhuma) intro

www.google.com

search q=kindberg (nenhum)

Page 14: Introdução aos Sistemas Distribuídos

Desafios1. Heterogeneidade

SD devem permitir acesso a um conjunto heterogêneo de computadores e redes.

Se aplica à:

✔ Redes✔ Hardware de computador✔ Sistemas Operacionais✔ Linguagens de programação✔ Implementação de diferentes programadores

Middleware (corba)

Heterogeneidade e migração de código (java)

Page 15: Introdução aos Sistemas Distribuídos

Desafios2. Sistemas Abertos

De forma resumida: Principais interfaces são publicadas.

Exemplo: RFC's para os protocolos de Internet

SD abertos podem ser construídos a partir de hardware e software heterogêneo, possivelmente de diferentes fornecedores.

Page 16: Introdução aos Sistemas Distribuídos

Desafios3. Segurança

Baseada em três componentes:

✔ Confidencialidade✔ Integridade✔ Disponibilidade

Dois problemas ainda não resolvidos:

✔ Ataque de negação de serviço (Denial of Service): interrupção de serviço

✔ Segurança de código móvel: Aplicativo que é entregue ao usuário

Page 17: Introdução aos Sistemas Distribuídos

Desafios4. Escalabilidade

Um sistema é descrito com escalável se permanece eficiente quando há um aumento significativo no número de recursos e no número de usuários.

✔ Controlar o custo dos recursos físicos✔ Controlar a perda de desempenho✔ Impedir que os recursos de software se esgotem:

Exemplo: IPv4✔ Evitar gargalos de desempenho: Arquitetura

antiga DNS. Arquivo de hosts.

Page 18: Introdução aos Sistemas Distribuídos

Desafios5. Tratamento de Falhas

Falhas em SD devem ser parciais, ou seja, alguns componentes falham e outros continuam funcionando.

Algumas técnicas:

✔ Detecção de Falhas: contadores✔ Mascaramento de Falhas: descarte/retransmissão

de pacotes/Raid.✔ Tolerância a falhas✔ Recuperação de Falhas✔ Redundância: duas rotas de rede, replicação de

servios DNS/BD.

Page 19: Introdução aos Sistemas Distribuídos

Desafios6. Concorrência

Tanto serviços como os aplicativos fornecem recursos que podem ser compartilhados pelos clientes em um SD. Desta forma, existe a possibilidade de que vários clientes tentem acessar um recurso compartilhado ao mesmo tempo.

Page 20: Introdução aos Sistemas Distribuídos

Desafios7. Transparência

É definida como ocultação , para um usuário final ou programador, da separação dos componentes em um SD de modo que o sistema seja percebido como um todo, em vez de uma coleção de componentes independentes.

Tipos:

✔ De acesso✔ De localização✔ De concorrência✔ De replicação✔ De falhas✔ De mobilidade✔ De desempenho✔ De escalabilidade

Page 21: Introdução aos Sistemas Distribuídos

Sistemas DistribuídosIntrodução

Frederico MadeiraLPIC­1, LPIC­2, [email protected]