Você está na página 1de 28

www.pearson.com.

br

Introduo

captulo

1
Andrew S. Tanenbaum
Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 1/14
Captulo 1 - Introduo

www.pearson.com.br

O que um Sistema Distribudo?


Um conjunto de computadores independentes
que se apresenta a seus usurios como um
sistema nico e coerente.
(Ex. de SD: Internet, intranets, computao mvel e
ubqua (ou pervasiva)

Aquele no qual os componentes localizados em


computadores interligados em rede se
comunicam e coordenam suas aes apenas
passando mensagens. (Coulouris)
Andrew S. Tanenbaum
Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 2/14
Captulo 1 - Introduo

www.pearson.com.br

Principais caractersticas
Diferenas entre os computadores e
como eles se comunicam.
ocultas ao usurio

Usurios e aplicaes podem interagir


com um sistema distribudo de maneira
consistente e uniforme.
independente de onde a interao ocorra

Andrew S. Tanenbaum
Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 3/14
Captulo 1 - Introduo

www.pearson.com.br

Uso de middleware para sistemas


heterogneos

Andrew S. Tanenbaum
Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 4/14
Captulo 1 - Introduo

www.pearson.com.br

Middleware: Servios Tpicos


Facilidades de comunicao
Escondem o baixo nvel das primitivas de passagem de
mensagens - Ex: RPC (chamada de procedimento remoto), RMI
(Remote Method Invocation).

Acesso transparente a dados: sistemas de arquivo


distribudo e banco de dados distribudo.
Nomeao
Permite a consulta a entidades compartilhadas atravs de
abstraes como pginas amarelas
Persistncia
Transaes distribudas

Segurana

Em um middleware aberto, os protocolos utilizados em cada nvel


devem ser os mesmos, assim como as interfaces disponibilizadas s
aplicaes.

Andrew S. Tanenbaum
Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 5/14
Captulo 1 - Introduo

www.pearson.com.br

Metas de um
Sistema Distribudo

Andrew S. Tanenbaum
Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 6/14
Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo


Acesso a recursos
Objetivo
Facilitar acesso e compartilhamento de recursos
remotos de maneira controlada e eficiente (Ex.
Web, Groupware)

Necessrio aprimorar a segurana


evitar acessos indevidos
rastrear comunicaes
criar perfis de usurios

Andrew S. Tanenbaum
Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 7/14
Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo


Transparncia da distribuio

Andrew S. Tanenbaum
Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 8/14
Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo


Transparncia da distribuio

Grau de transparncia
Deve considerar: desempenho e
facilidade de compreenso
O usurio deve saber das limitaes do
sistema decorrentes do mesmo ser
distribudos?
Tempo de acesso?
Localizao de recursos?
Andrew S. Tanenbaum
Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 9/14
Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo


Aberto
Um sistema distribudo aberto
oferece servios seguindo regras
padronizadas de sintaxe e semntica
Uso da IDL (linguagem de descrio de
interface)

Especificaes: completas e neutras


Importantes para interoperabilidade e
portabilidade
O sistema distribudo deve ser extensvel

Andrew S. Tanenbaum
Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 10/14
Captulo 1 - Introduo

www.pearson.com.br

Interoperabilidade, Portabilidade e
Extensibilidade
Interoperabilidade caracteriza at que ponto duas
implementaes de sistemas ou componentes de
fornecedores diferentes devem coexistir e trabalhar
em conjunto, especificados por um padro comum;

Portabilidade caracteriza at que ponto uma


aplicao desenvolvida para um sistema distribudo A
pode ser executada, sem modificaes, em um
sistema B;
Extensibilidade define a capacidade de se adicionar
novos componentes ou substituir componentes
existentes sem afetar os que continuam no mesmo
lugar.
Andrew S. Tanenbaum
Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 11/14
Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo


Escalabilidade

Medida, no mnimo, quanto ao:


tamanho
termos geogrficos
termos administrativos.

Cada mtrica apresenta desafios a


serem alcanados

Andrew S. Tanenbaum
Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 12/14
Captulo 1 - Introduo

www.pearson.com.br

Escalabilidade com Relao ao Tamanho


Se uma quantidade maior de usurios ou recursos
devem ser considerados deve-se tomar cuidado com
servios, dados e algoritmos centralizados:
Conceito

Exemplo

Servios Centralizados

Um nico servidor para todos os


usurios

Dados centralizados

Uma nica lista telefnica on-line

Fazer roteamento com base em


Algoritmos Centralizados informaes completas

Eles se tornam gargalos, pontos nicos de falhas e


saturam a rede onde residem.
Andrew S. Tanenbaum
Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 13/14
Captulo 1 - Introduo

www.pearson.com.br

Algoritmos Distribudos
Algoritmos distribudos possuem as seguintes
diferenas com relao aos centralizados:
1. Nenhum n possui informao completa do
estado do sistema;
2. Cada n toma decises baseado somente
em informaes locais;
3. A falha de um n no inviabiliza a execuo
do algoritmo;
4. No se pressupe a existncia de um relgio
global.
Andrew S. Tanenbaum
Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 14/14
Captulo 1 - Introduo

www.pearson.com.br

Escalabilidade Geogrfica
Sistemas distribudos desenvolvidos para
redes locais tipicamente utilizam comunicao
sncrona, mas comunicao em WANs
tipicamente trs ordens de magnitude mais
lenta;
Comunicao WAN no confivel e ocorre
ponto-a-ponto enquanto em LANs confivel
e baseada em broadcast. Isto facilita o
desenvolvimento.
Exemplo: servio de localizao.
Andrew S. Tanenbaum
Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 15/14
Captulo 1 - Introduo

www.pearson.com.br

Tcnicas de Escalabilidade

Andrew S. Tanenbaum
Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 16/14
Captulo 1 - Introduo

www.pearson.com.br

Esconder a Latncia na Comunicao


Construir a aplicao de forma a utilizar
somente comunicao assncrona;
Em aplicaes batch e paralelas normalmente
bem aceita mas o mesmo no ocorre em
aplicaes interativas;
Neste caso, uma soluo diminuir a
necessidade de comunicao movendo parte
da computao do servidor para o cliente.

Andrew S. Tanenbaum
Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 17/14
Captulo 1 - Introduo

www.pearson.com.br

Tcnicas de Escalabilidade
Comunicao sncrona X assncrona

Andrew S. Tanenbaum
Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 18/14
Captulo 1 - Introduo

www.pearson.com.br

Tcnicas de escalabilidade - distribuio

Andrew S. Tanenbaum
Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 19/14
Captulo 1 - Introduo

www.pearson.com.br

Replicao
Aumenta a disponibilidade e ajuda a balancear a
carga de trabalho entre componentes levando a um
melhor desempenho;
Caching uma forma especial de replicao na qual
a deciso de trazer o objeto de seu cliente e no de
seu proprietrio;
Pode levar a problemas de consistncia.

Andrew S. Tanenbaum
Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 20/14
Captulo 1 - Introduo

www.pearson.com.br

Principais ciladas
Premissas falsas adotadas ao desenvolver
uma aplicao distribuda pela primeira vez:

A rede confivel
A rede segura
A rede homognea
A topologia no muda
A latncia zero
A largura da banda infinita
O custo de transporte zero
H apenas um administrador

Andrew S. Tanenbaum
Maarten Van Steen

(Peter Deutsch Sun Microsystems)

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 21/14
Captulo 1 - Introduo

www.pearson.com.br

Tipos de Sistemas Distribudos


Sistemas de Computao Distribudos
Sistemas de Informao Distribudos
Sistemas Distribudos Pervasivos

Andrew S. Tanenbaum
Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 22/14
Captulo 1 - Introduo

www.pearson.com.br

Sistemas de Computao Distribudos


Muitos sistemas distribudos so utilizados
para computao de alto desempenho: so
divididos em computao em Cluster e
computao em Grade.
Computao em Cluster (Aglomerados):
So essencialmente um grupo de sistemas
conectados atravs de uma LAN;
So homogneos: mesmo SO, hardware
idntico ou muito similar;
Possui um nico n de gerenciamento.
Andrew S. Tanenbaum
Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 23/14
Captulo 1 - Introduo

www.pearson.com.br

Computao em grade

Muitos ns de diversas origens:


Heterogneos;
Dispersos atravs de vrias organizaes;
Podem compreender uma rede wide-rea;
Organizaes virtuais.

Andrew S. Tanenbaum
Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 24/14
Captulo 1 - Introduo

www.pearson.com.br

Sistemas de Informao Distribudos


Existe uma grande variedade de sistemas de
informao que utilizam uma arquitetura
distribuda;
Parte dos sistemas distribudos em uso
atualmente integram sistemas legados;

Andrew S. Tanenbaum
Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 25/14
Captulo 1 - Introduo

www.pearson.com.br

Sistemas de Informao Distribudos


Uma classe importante de sistemas de informao
distribudos so os sistemas de processamento de
transaes:
1. Atomicidade: todas as operaes sero bem
sucedidas ou falham;
2. Consistncia: a transao no viola invariantes do
sistema (exemplo: lei da conservao do dinheiro em
transferncias no sistema bancrio);
3. Isolamento: transaes concorrentes no interferem
umas com as outras: o resultado final para cada uma
delas se apresentar como se todas as transaes
fossem executadas em sequncia em certa ordem;
4. Durabilidade: uma vez confirmada a transao, as
alteraes so permanentes.
Andrew S. Tanenbaum
Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 26/14
Captulo 1 - Introduo

www.pearson.com.br

Sistemas de Informao Distribudos


Empacota vrias requisies de programas clientes
em uma transao distribuda.
EAI (Enterprise Application Integration integrao de
aplicaes empresariais)
RPCs (Procedimentos remotos)

Andrew S. Tanenbaum
Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 27/14
Captulo 1 - Introduo

www.pearson.com.br

Propriedades das transaes

Atmicas: para o mundo exterior, a


transao acontece como se fosse
indivisvel
Consistentes: a transao no viola
invariantes de sistema
Isoladas: transaes concorrentes no
interferem umas nas outras
Durveis: uma vez comprometida uma
transao, as alteraes so permanentes
ACID (para facilitar a decoreba)

Andrew S. Tanenbaum
Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 28/14
Captulo 1 - Introduo