introdução aos sistemas distribuídos
Post on 29-Nov-2014
44.002 Views
Preview:
DESCRIPTION
TRANSCRIPT
Sistemas DistribuídosIntrodução
Frederico MadeiraLPIC1, LPIC2, CCNAfred@madeira.eng.brwww.madeira.eng.br
Referências
- Coulouris, G.;Dollimore, J.; Kindberg, T.; SISTEMAS DISTRIBUIDOS CONCEITOS E PROJETO. Capítulo 1.
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]
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;
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.
Exemplos de Sistemas Distribuídos- A Internet
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
Exemplos de Sistemas Distribuídos- Intranets
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.
Exemplos de Sistemas Distribuídos- Computação Móvel e Ubíqua
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
Compartilhamento de Recursos
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)
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)
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.
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
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.
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.
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.
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
Sistemas DistribuídosIntrodução
Frederico MadeiraLPIC1, LPIC2, CCNAfred@madeira.eng.brwww.madeira.eng.br
top related