Você está na página 1de 7

Definição de um Sistema Distribuído (1)

Um sistema distribuído é:
Introdução
Uma coleção de computadores
independentes que aparecem
para o usuário como um
único sistema coerente.

Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)


• Um sistema distribuído tem como meta principal facilitar o acesso
do usuário a recursos remotos e compartilhar estes recursos com
outros usuários de uma forma controlada (Conectar recursos e
usuários).
• Meta importante de um SD é esconder o fato de que seus
processos e recursos estão fisicamente distribuídos através de vários
1.1
computadores (Transparência).
• Outra meta importante em SD é Abertura. Um SD aberto é um
sistema que oferece serviços de acordo com regras padrões.
• Meta de projeto importante em SD diz respeito a capacidade de
Um sistema distribuído organizado como middleware. crescimento do sistema (Escalabilidade).
Note que o nível de middleware se extende através de multiplas
maquinas.

Transparência em Sistemas Distribuídos Abertura em Sistemas Distribuídos


Transparência Descrição
Esconde diferenças na representação de dados e
• Sistema Distribuído Aberto: Capacitado a interagir com
Acesso serviços de outros sistemas abertos:
como um recurso é acessado
Localização Esconde onde um recurso está localizado • Sistemas deveriam concordar com interfaces bem definidas
Migração
Esconde que um recurso pode mover-se para outra • Sistemas deveriam suportar portabilidade de aplicações
localização
• Sistemas deveriam interoperar com facilidade
Esconde que um recurso pode ser movido para outra
Relocação
localização enquanto esta sendo usado • Conseguir Abertura: No mínimo fazer o SD independente da
Esconde que um recurso pode ser compartilhado por heterogeneidade do ambiente
Replicação
vários usuários concorrentes
Esconde que um recurso pode ser compartilhado por • Hardware
Concorrência
vários usuários concorrentes •Plataformas
Falha Esconde a falha e recuperação de um recurso •Linguagens
Esconde quando um recurso (software) esta em
Persistência
memória ou em disco

Diferentes formas de transparência em um sistema distribuído.

1
Política X Mecanismo Escala em Sistemas Distribuídos
• Implementando abertura: necessita suporte para diferentes • Observação: muitos desenvolvedores de SDs utilizam facilmente
políticas especificadas por aplicações e usuários: a palavra escalável sem deixar claro porque seus sistemas
• que nível de consistência é preciso para dados no cliente? realmente escalam.
• Que operações é permitido código baixado realizar? • Escalabilidade: mínimo 3 componentes
• Que requisitos de QoS ajustamos em banda variável?
• Que nível de segredo necessitamos para comunicação? • numero de usuários e/ou processos (tamanho)
• distância máxima entre nodos (geográfica)
• Implementando abertura : Ideal, um SD fornece apenas • numero de domínios administrativos (administrativa)
mecanismos:
• permite ajustar políticas de cache Grande parte dos sistemas contam apenas, escalabilidade em
•suporta diferentes níveis de confiança em código móvel tamanho. Solução: servidores poderosos.
•fornece ajuste de parâmetros de QoS Hoje, desafio é escalabilidade geográfica e administrativa.
•oferece diferentes algoritmos de criptografia

Problemas de Escalabilidade Técnicas de escalabilidade (1)

Conceito Exemplo

Serviços centralizados Um único servidor para todos os usuários

Dados centralizados Um único guia telefônico on-line


1.4
Fazer roteamento basedo em informação
Algoritmos centralizados
completa

Exemplos das limitações de escalabilidade. • Distribuição : dividir dados e computações nas máquinas
• Replicação : fazer cópias disponíveis em várias máquinas
• Caching : permitir processos clientes acessar cópias locais

Técnicas de escala(2) Conceitos de Hardware


• Diferentes organizações do hardware podem ser consideradas
para SDs especialmente com relação a forma de interconexão e
comunicação.
• Multiprocessadores
1.5
• Multicomputadores
• Redes de Computadores

Um exemplo de divisão espaço de nomes DNS em zonas.

2
Multiprocessadores e Multicomputadores Multiprocessadores (1)

1.6 1.7

Diferentes organizações basicas: memória compartilhada X Um multiprocessor baseado em barramento.


privada e interconexão barramento X chaveamento

Multiprocessadores (2) Multicomputador Homogêneo

1.8 1-9

a) crossbar a) Grelha (Grid)


b) omega b) Hipercubo

Conceitos de Software SO Uniprocessador


Sistema Descrição meta

Sistemas operacionais fortemente acoplados Esconder e


SOD para multi-processadores e gerenciar recursos
multicomputadores homogêneos de hardware
Sistemas operacionais fracamente acoplados Oferecer serviços
SOR para multicomputadores heterogêneos (LAN locais para 1.11
and WAN) clientes remotos
Nível adicional em cima do SOR Prover distribuição
Middleware
implementando serviços de propósito geral transparência

Revisão entre:
• SOD (DOS - Distributed Operating Systems)
• SOR (NOS - Network Operating Systems)
• Middleware • Separação de aplicações do código de SO através
de um microkernel.

3
SO Multicomputador (1) SO Multicomputador (2)

1.14 1.15

Estrutura geral de um SO para um multicomputador Alternativas para bloquear e buferizar usando passagem de mensagem.

SO Multicomputador (3) Memória Distribuída Compartilhada (1)

• Páginas do espaço
Pontos de Sincronização
Buffer com. confiável de endereçamento
enviante guarantida?
distribuídas entre
Bloquear enviante até buffer livre sim não necessariamente
4 máquinas
Bloquear enviante até mensagem enviada não não necessariamente
• Situação depois
Bloquear enviante até mensagem recebida não Necessario
CPU 1 referecia
Bloquear enviante até mensagem entregue não Necessario página 10
• Situação se
página 10 é
apenas leitura e
Relação entre bloqueio, bufferização e comunicação confiável. replicação é usada

Memória Distribuída Compartilhada (2) Sistema Operacional de Rede (1)

1.18 1-19

Falso compartilhamento de página entre 2 processos independentes. Estrutura geral de SOR.

4
Sistema Operacional de Rede (2) Sistema Operacional de Rede (3)

1-20

1.21

Dois clientes e um servidor em um SOR. Diferentes clientes podem montar os servidores em diferentes lugares.

Middleware Middleware

1-22
1.23

• Em um sistema distribuído aberto baseado em middleware, os


Estrutura geral de um sistema distribuído com middleware. protocolos usados por cada middleware deveriam ser os mesmos,
assim como as interfaces que eles oferecem para as aplicações.

Middleware Middleware
• Serviços de Comunicação: abandona primitiva de passagem de • Serviços de Controle: serviços para dar a aplicação controle
mensagens baseada em sockets em favor de: sobre quando, onde e como acessar dados:
– chamadas de procedimentos através da rede – processamento de transações distribuídas
– invocação de métodos remotos – migração de código
– sistemas de fila de mensagens
– comunicação com streams • Serviços de segurança: serviços para comunicação e
– serviço de notificação de eventos processamento seguro:
• Serviços de sistemas de informação: serviços que ajudam – serviços de autenticação e autorização
gerenciar dados em SDs: – serviços de criptografia
– serviços de nomes – serviços de auditoria
– serviços de diretório (máquinas de busca)
– serviços de localização
– cache e replicação

5
Comparação entre Sistemas Modelo Cliente-Servidor
SO Distribuído SO baseado
Item SO rede em • Questão central na organização de SDs diz respeito a como
Multiproc. Multicomp. Middleware
organizar os processos no sistema. Existe uma certa
Grau de transparência Muita alta Alta Baixa Alta concordância em pensar em termos de clientes que requisitam
Mesmo SO em todos
Sim Sim Não Não serviços de servidores.
nodos
Numero de cópias de
1 N N N
SO – Modelo básico
Memoria Específico do – Níveis
Base para comunicação Mensagens arquivos
comp. Modelo
– Arquiteturas
Global, Global,
Gerencia recursos Por nodo Por nodo
central distribuída
Escalabilidade Não Moderada Sim Variável

Abertura Fechado Fechado Aberta aberta

Uma comparação entre SO multiprocessador, SO


multicomputer, SO rede e SO baseado em middleware.

Clientes e Servidores Um exemplo Cliente / Servidor (1)

1.25

Interação geral entre clientes e servidores.


header.h

Um exemplo Cliente / Servidor (2) Um exemplo Cliente / Servidor (3)

1-27 b

• Servidor, geralmente fornece serviços relacionados a um recurso


compartilhado. • Cliente, permite acesso a serviço remoto (API para serviços)

6
Nível de Processamento Arquiteturas Multitiered (1)

1-29
1-28

• A organização geral de uma máquina de busca na Organizations alternativas cliente-servidor (a) – (e).
Internet em 3 níveis diferentes

Arquiteturas Multitiered (2)

1-30

exemplo de um servidor agindo como um cliente.

Arquiteturas Alternativas Arquiteturas Modernas


• Servidores cooperantes: serviço esta fisicamente distribuído
em uma coleção de servidores:
– arquiteturas multi-tiered tradicionais
– sistemas de arquivos replicados
1-31
– serviço de news
– serviços de nomes (DNS, X.500)
– serviços financeiros

• Clientes cooperantes: aplicação distribuída existe em virtude


da colaboração de clientes:
– teleconferência onde cada cliente tem uma estação
– arquiteturas publica/subscreve nas quais o papel do cliente e servidor é
confundido exemplo de distribuição horizontal de um serviço Web.

Você também pode gostar