Anda di halaman 1dari 12

Camadas de Servio de Hardware e Software em

Sistemas Distribudos
Arquiteutra de Sistemas Distribudos
Applications, services
Introduo

Middleware
Adaptao do conjunto de slides do livro
Distributed Systems, Tanembaum, com alguns
slides do livro do Coulouris
Operating system

Platform

Computer and network hardware

Clientes Invocando Servidores Individuais Um Servio Provido por Mltiplos Servidores

Service

Client invocation invocation


Server Server
Client
result result
Server

Server
Client
Key:
Process: Computer:
Client
Server

1
Servidores Assistidos por um Proxy Aplicao Peer-to-peer

Application Application

Client Web
server Coordination Coordination
code code
Proxy
server

Client Web
server
Application

Coordination
code

Applets na Web Clientes Leves e Servidores de Computao

a) Cliente interage
client request com in
results o servidor Web e realiza
the downloading o code
of applet
download do cdigo do applet
Compute server
Network computer or PC
Client Web
server
Applet code
Thin network Application
Client Process
Clienteinteracts
b) client interagewith
comthe
o applet localmente

Web
Client Applet server

2
Redes Espontneas Definio de um Sistema Distribudo (1)

Music
service
gateway
Alarm
service Um sistema distribudo :
Internet

Uma coleo de computadores


Hotel wireless
network
independentes que aparecem
Discovery
service para o usurio como um
Camera nico sistema coerente.

TV/PC Guests
Laptop PDA
devices

Definio de um Sistema Distribudo(2) Metas de Sistemas Distribudos (2)


Um sistema distribudo tem como meta principal facilitar
o acesso do usurio a recursos remotos e compartilhar
estes recursos com outros usurios de uma forma
controlada (Conectar recursos e usurios).
Meta importante de um SD esconder o fato de que
seus processos e recursos esto fisicamente
1.1 distribudos atravs de vrios computadores
(Transparncia).
Outra meta importante em SD Abertura. Um SD
aberto um sistema que oferece servios de acordo
com regras padres.
Um sistema distribudo organizado como middleware. Meta de projeto importante em SD diz respeito a
capacidade de crescimento do sistema
(Escalabilidade).

3
Transparncia em Sistemas Distribudos Problemas de Escalabilidade
Transparncia Descrio
Esconde diferenas na representao de dados e
Acesso
como um recurso acessado
Conceito Exemplo
Localizao Esconde onde um recurso est localizado
Esconde que um recurso pode mover-se para outra Servios centralizados Um nico servidor para todos os usurios
Migrao
localizao
Esconde que um recurso pode ser movido para outra
Relocao Dados centralizados Um nico guia telefnico on-line
localizao enquanto esta sendo usado
Esconde que um recurso pode ser compartilhado por
Replicao Fazer roteamento basedo em informao
vrios usurios concorrentes Algoritmos centralizados
completa
Esconde que um recurso pode ser compartilhado por
Concorrncia
vrios usurios concorrentes
Falha Esconde a falha e recuperao de um recurso
Esconde quando um recurso (software) esta em
Persistncia
memria ou em disco Exemplos das limitaes de escalabilidade.

Tcnicas de escalabilidade (1) Tcnicas de escala(2)

1.5
1.4

a) Distribuio : dividir dados e computaes nas mquinas


b) Replicao : fazer cpias disponveis em vrias mquinas
c) Caching : permitir processos clientes acessar cpias locais Um exemplo de diviso espao de nomes DNS em zonas.

4
Conceitos de Hardware Multiprocessadores e Multicomputadores

Diferentes organizaes do hardware podem ser consideradas


para SDs especialmente com relao a forma de interconexo e
comunicao.
1.6
Multiprocessadores
Multicomputadores
Redes de Computadores

Diferentes organizaes basicas: memria compartilhada X


privada e interconexo barramento X chaveamento

Multiprocessadores (1) Multiprocessadores (2)

1.7
1.8

Um multiprocessor baseado em barramento. a) crossbar


b) omega

5
Multicomputador Homogneo Conceitos de Software

Sistema Descrio meta

Sistemas operacionais fortemente acoplados Esconder e


SOD para multi-processadores e gerenciar recursos
multicomputadores homogneos de hardware
Sistemas operacionais fracamente acoplados Oferecer servios
1-9 SOR para multicomputadores heterogneos (LAN locais para
and WAN) clientes remotos
Nvel adicional em cima do SOR Prover distribuio
Middleware
implementando servios de propsito geral transparncia

Reviso entre:
SOD (DOS - Distributed Operating Systems)
SOR (NOS - Network Operating Systems)
a) Grade (Grid) Middleware
b) Hipercubo

SO Uniprocessador SO Multicomputador (1)

1.11 1.14

Separao de aplicaes do cdigo de SO atravs Estrutura geral de um SO para um multicomputador


de um microncleo.

6
SO Multicomputador (2) SO Multicomputador (3)

Buffer com. confivel


Pontos de Sincronizao
enviante guarantida?
Bloquear enviante at buffer livre sim no necessariamente
1.15
Bloquear enviante at mensagem enviada no no necessariamente

Bloquear enviante at mensagem recebida no Necessario

Bloquear enviante at mensagem entregue no Necessario

Relao entre bloqueio, bufferizao e comunicao confivel.


Alternativas para bloquear e bufferizar usando troca de mensagem.

Memria Distribuda Compartilhada (1) Memria Distribuda Compartilhada (2)

a) Pginas do
espao de
endereamento
distribudas entre
4 mquinas 1.18

b) Situao depois
CPU 1 referecia
pgina 10

c) Situao se
pgina 10
apenas leitura e
replicao usada Falso compartilhamento de pgina entre 2 processos independentes.

7
Sistema Operacional de Rede (1) Sistema Operacional de Rede (2)

1-19 1-20

Estrutura geral de SOR. Dois clientes e um servidor em um SOR.

Sistema Operacional de Rede (3) Middleware

1-22

1.21

Diferentes clientes podem montar os servidores em diferentes lugares. Estrutura geral de um sistema distribudo com middleware.

8
Middleware Middleware
Servios de Comunicao: abandona primitiva de passagem de
mensagens baseada em sockets em favor de:
chamadas de procedimentos atravs da rede
invocao de mtodos remotos
sistemas de fila de mensagens
comunicao com streams
1.23 servio de notificao de eventos
Servios de sistemas de informao: servios que ajudam
gerenciar dados em SDs:
servios de nomes
servios de diretrio (mquinas de busca)
servios de localizao
cache e replicao

Em um sistema distribudo aberto baseado em middleware, os


protocolos usados por cada middleware deveriam ser os mesmos,
assim como as interfaces que eles oferecem para as aplicaes.

Middleware Comparao entre Sistemas


Servios de Controle: servios para dar a aplicao controle SO Distribudo SO baseado
Item SO rede em
sobre quando, onde e como acessar dados: Multiproc. Multicomp. Middleware
processamento de transaes distribudas
migrao de cdigo Grau de transparncia Muita alta Alta Baixa Alta
Mesmo SO em todos
Sim Sim No No
nodos
Servios de segurana: servios para comunicao e
processamento seguro: Numero de cpias de
1 N N N
SO
servios de autenticao e autorizao
Memoria Especfico do
servios de criptografia Base para comunicao Mensagens arquivos
comp. Modelo
servios de auditoria
Global, Global,
Gerencia recursos Por nodo Por nodo
central distribuda
Escalabilidade No Moderada Sim Varivel

Abertura Fechado Fechado Aberta aberta

Uma comparao entre SO multiprocessador, SO


multicomputer, SO rede e SO baseado em middleware.

9
Modelo Cliente-Servidor Clientes e Servidores
Questo central na organizao de SDs diz respeito a como
organizar os processos no sistema. Existe uma certa
concordncia em pensar em termos de clientes que requisitam 1.25
servios de servidores.

Modelo bsico
Nveis
Arquiteturas

Interao geral entre clientes e servidores.

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

Servidor, geralmente fornece servios relacionados a um recurso


header.h compartilhado.

10
Um exemplo Cliente / Servidor (3) Nvel de Processamento

1-27 b
1-28

A organizao geral de uma mquina de busca na


Cliente, permite acesso a servio remoto (API para servios) Internet em 3 nveis diferentes

Arquiteturas Multitiered (1) Arquiteturas Multitiered (2)

1-29 1-30

Arquiteutras alternativas cliente-servidor Exemplo de um servidor intermedirio, agindo como um cliente, delegando a
oprao para outro servidor.

11
Arquiteturas Alternativas Arquiteturas Modernas
Servidores cooperantes: servio esta fisicamente
distribudo em uma coleo de servidores:
arquiteturas multi-tiered tradicionais
sistemas de arquivos replicados
servio de news 1-31
servios de nomes (DNS, X.500)
servios financeiros

Clientes cooperantes: aplicao distribuda existe em


virtude da colaborao de clientes:
teleconferncia onde cada cliente tem uma estao
arquiteturas publica/subscreve nas quais o papel do cliente e servidor
confundido

Exemplo de distribuio horizontal de um servio


Web.

12

Anda mungkin juga menyukai