You are on page 1of 112

www.pearson.com.

br

Introduo

captulo

1
Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 1 Captulo 1 - Introduo

www.pearson.com.br

Agenda

O que so Sistemas Distribudos (SD)? Principais Caractersticas. O papel do Middleware num SD. Metas de um SD. Tipos de SDs.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 2 Captulo 1 - Introduo

www.pearson.com.br

O que so Sistemas Distribudos?

Um sistema distribudo um conjunto de computadores independentes que se apresenta a seus usurios como um sistema nico e coerente.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 3 Captulo 1 - Introduo

www.pearson.com.br

O que so Sistemas Distribudos?

Um sistema distribudo um conjunto de computadores independentes que se apresenta a seus usurios como um sistema nico e coerente.
Cada computador funciona independente de fazer parte ou no do SD.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 4 Captulo 1 - Introduo

www.pearson.com.br

O que so Sistemas Distribudos?

Um sistema distribudo um conjunto de computadores independentes que se apresenta a seus usurios como um sistema nico e coerente.
Cada computador funciona independente de fazer parte ou no do SD. O usurio no tem cincia que h diversos computadores, nem onde esto localizados.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 5 Captulo 1 - Introduo

www.pearson.com.br

O que so Sistemas Distribudos?

Um sistema distribudo um conjunto de computadores independentes que se apresenta a seus usurios como um sistema nico e coerente.
Cada computador funciona independente de fazer parte ou no do SD. O usurio no tem cincia que h diversos computadores, nem onde esto localizados. Coerncia a ligao de cada uma das partes com o todo, sem existir contradies.
Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 6 Captulo 1 - Introduo

www.pearson.com.br

Questo

1. Uma definio alternativa para um sistema distribudo, que ele um conjunto de computadores independentes que d a impresso de ser um sistema nico, isto , o fato de haver vrios computadores fica completamente oculto para os usurios. D um exemplo para o qual essa viso seria muito interessante.
Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 7 Captulo 1 - Introduo

www.pearson.com.br

1. O que vem imediatamente nossa mente a computao paralela. Se pudssemos projetar programas que funcionam sem qualquer grande modificao em sistemas distribudos, que parecem ser os mesmos em sistemas no distribudos, a vida seria assim muito mais fcil. Alcanar a viso de um sistema nico considerado praticamente impossvel quando a performance est em jogo.
Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 8 Captulo 1 - Introduo

www.pearson.com.br

Principais caractersticas

Diferenas entre os vrios computadores e o modo como eles se comunicam esto, em grande parte, ocultas ao usurio.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 9 Captulo 1 - Introduo

www.pearson.com.br

Principais caractersticas

Diferenas entre os vrios computadores e o modo como eles se comunicam esto, em grande parte, ocultas ao usurio.
Desde supercomputadores at smartphones podem compor o SD.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 10 Captulo 1 - Introduo

www.pearson.com.br

Principais caractersticas

Diferenas entre os vrios computadores e o modo como eles se comunicam esto, em grande parte, ocultas ao usurio.
Desde supercomputadores at smartphones podem compor o SD. Comunicao via RMI, RPC, Web Service, troca de mensagens?

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 11 Captulo 1 - Introduo

www.pearson.com.br

Principais caractersticas

Diferenas entre os vrios computadores e o modo como eles se comunicam esto, em grande parte, ocultas ao usurio.
Desde supercomputadores at smartphones podem compor o SD. Comunicao via RMI, RPC, Web Service, troca de mensagens? Na verdade o usurio no sabe nem que essa comunicao acontece, e entre quais componentes ela acontece.
Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 12 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 13 Captulo 1 - Introduo

www.pearson.com.br

Questo

2. Qual o papel do middleware num sistema distribudo?

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 14 Captulo 1 - Introduo

www.pearson.com.br

2. Aumentar a transparncia de distribuio que falta em sistemas operando em rede. Em outras palavras, o middleware visa melhorar a viso de um sistema nico que um sistema distribudo deve ter.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 15 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

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 16 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


Controle consiste de verificar se as atividades realizadas so similares as atividades planejadas.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 17 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


Controle consiste de verificar se as atividades realizadas so similares as atividades planejadas. Eficiente relacionada a fazer uma atividade da melhor forma possvel.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 18 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


Controle consiste de verificar se as atividades realizadas so similares as atividades planejadas. Eficiente relacionada a fazer uma atividade da melhor forma possvel.
WEB (Conjunto de softwares que funciona sobre a Internet) Groupware (Grupo de Trabalho Colaborativo)
Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 19 Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo Acesso a recursos

Necessrio, no entanto, aprimorar a segurana, evitando acessos indevidos e rastreamento de comunicaes para criao de perfis de usurios.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 20 Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo Acesso a recursos

Necessrio, no entanto, aprimorar a segurana, evitando acessos indevidos e rastreamento de comunicaes para criao de perfis de usurios.
Acesso indevido relacionado a visualizao de informaes sigilosas/privativas por pessoas no autorizadas.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 21 Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo Acesso a recursos

Necessrio, no entanto, aprimorar a segurana, evitando acessos indevidos e rastreamento de comunicaes para criao de perfis de usurios.
Acesso indevido relacionado a visualizao de informaes sigilosas/privativas por pessoas no autorizadas. Rastreamento de Comunicao refere-se capacidade de traar o caminho da histria, pelo qual possvel identificar padres de comportamento.
Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 22 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 23 Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo Transparncia de Acesso

Deseja-se ocultar diferenas entre arquiteturas de mquinas.


x86, MIPS, ARM

Deve haver um acordo sobre como os dados devem ser representados por mquinas e sistemas operacionais diferentes.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 24 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 25 Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo Transparncia de Localizao

Refere-se ao fato de que os usurios no podem dizer qual a localizao fsica de um recurso no sistema. Pode-se alcanar essa transparncia atribuindo somente nomes lgicos ao recursos. Isso no d nenhuma pista sobre a localizao do servidor.
http://www.prenhall.com/index.html

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 26 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 27 Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo Transparncia de Migrao

Transparncia que acontece quando os recursos podem ser movimentados sem afetar o modo como eles podem ser acessados.
No possvel determinar se o recurso index.html sempre esteve em sua localizao, ou se foi movido para l recentemente.
http://www.prenhall.com/index.html

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 28 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 29 Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo Transparncia de Relocao

Acontece quando o recurso migrado, em tempo de execuo, sem que o usurio perceba. Ex: Uso mvel de laptop, cujos usurios podem continuar a us-lo quando vo de um lugar a outro, sem ao menos ser desconectado temporariamente.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 30 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 31 Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo Transparncia de Replicao

Oculta o fato de que h cpias do recurso. Para ocultar a replicao necessrio que todas as rplicas tenham o mesmo nome. Normalmente sistemas que suportam transparncia de replicao, tambm suportam transparncia de localizao.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 32 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 33 Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo Transparncia de Concorrncia

Acesso concorrente a um recurso compartilhado pode torn-lo inconsistente. Para resolver, usa-se travas de acesso, que do a cada usurio, um por vez, acesso exclusivo ao recurso desejado.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 34 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 35 Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo Transparncia de Falha

.O usurio no deve perceber que um recurso deixou de funcionar bem, ou que o sistema se recuperou de uma falha. Mascarar falhas uma das questes mais difceis em SDs.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 36 Captulo 1 - Introduo

www.pearson.com.br

Questo

4. Explique o que se entende por transparncia (de distribuio), e d exemplos de diferentes tipos de transparncia.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 37 Captulo 1 - Introduo

www.pearson.com.br

4. Transparncia de distribuio o fenmeno pelo qual os aspectos de distribuio em um sistema esto ocultos dos usurios e aplicaes. Exemplos incluem transparncia de acesso, transparncia de localizao, transparncia de migrao, transparncia de realocao, transparncia de replicao, transparncia de concorrncia, transparncia falhas e transparncia de persistncia.
Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 38 Captulo 1 - Introduo

www.pearson.com.br

Questo

5. Por que s vezes to difcil esconder a ocorrncia e recuperao de falhas em um sistema distribudo?

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 39 Captulo 1 - Introduo

www.pearson.com.br

5. Geralmente impossvel detectar se um servidor est realmente desativado, ou est simplesmente lento em responder. Consequentemente, um sistema pode ter que reportar que um servio no est disponvel, embora, de fato, o servidor est apenas lento.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 40 Captulo 1 - Introduo

www.pearson.com.br

Questo

6. Por que no sempre uma boa ideia procurar implementar o mais alto grau de transparncia possvel?

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 41 Captulo 1 - Introduo

www.pearson.com.br

6. Com a finalidade de obter o mais alto grau de transparncia, pode levar a uma considervel perda de desempenho que os usurios no esto dispostos a aceitar.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 42 Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo Transparncia da distribuio

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

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 43 Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo Transparncia da distribuio

Situaes em que tentar ocultar completamente os aspectos da distribuio para os usurio no uma boa ideia.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 44 Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo Transparncia da distribuio

Situaes em que tentar ocultar completamente os aspectos da distribuio para os usurio no uma boa ideia.
Um exemplo requisitar que o jornal seja entregue 7h da manh em sua casa, como sempre Contudo, naquele momento voc est no do outro lado do mundo, num fuso horrio diferente.
Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 45 Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo Transparncia da distribuio

Situaes em que tentar ocultar completamente os aspectos da distribuio para os usurio no uma boa ideia.
Num SD de longa distncia que conecta processos em So Francisco a Amsterd, por exemplo, no possvel enviar mensagens em menos de 35 ms. Dependendo da rede pode demorar centenas de milissegundos.
Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 46 Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo Transparncia da distribuio

Situaes em que tentar ocultar completamente os aspectos da distribuio para os usurio no uma boa ideia.
Tentar mascarar uma falha transitria num servidor Web, antes de tentar outro pode reduzir a velocidade do sistema como um todo. Talvez seja melhor permitir que o usurio cancele as tentativas.
Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 47 Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo Transparncia da distribuio

Situaes em que tentar ocultar completamente os aspectos da distribuio para os usurio no uma boa ideia.
Garantir que vrias rplicas intercontinentais sejam consistentes o tempo todo. Uma nica operao de atualizao pode demorar alguns segundos.
Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 48 Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo Transparncia da distribuio

Situaes em que tentar ocultar completamente os aspectos da distribuio para os usurio no uma boa ideia.
Crescimento do uso de dispositivos mveis tornam a noo de localizao e contexto cada vez mais importante. Pra uma secretria melhor enviar o trabalho para a impressora ocupada mais prxima, ou desocupada em um pas diferente? LBS (Location Based Services)
Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 49 Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo Abertura


Um sistema distribudo aberto um sistema que oferece servios de acordo com as regras padronizadas que descrevem a sintaxe e a semntica desses servios.
Uso da IDL (Interface Definition Language)

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 50 Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo Abertura


Um sistema distribudo aberto um sistema que oferece servios de acordo com as regras padronizadas que descrevem a sintaxe e a semntica desses servios.
Uso da IDL (Interface Definition Language) Sintaxe especifica com preciso os nomes das funes que esto disponveis, tipos dos parmetros, valores de retorno, e possveis excees que podem surgir.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 51 Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo Abertura


Um sistema distribudo aberto um sistema que oferece servios de acordo com as regras padronizadas que descrevem a sintaxe e a semntica desses servios.
Uso da IDL (Interface Definition Language) Sintaxe especifica com preciso os nomes das funes que esto disponveis, tipos dos parmetros, valores de retorno, e possveis excees que podem surgir. Semntica feita normalmente em linguagem natural.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 52 Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo Abertura


Especificaes devem ser completas e neutras.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 53 Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo Abertura


Especificaes devem ser completas e neutras.
Completa indica que tudo que necessrio para uma implementao, foi especificado. s vezes as interfaces no so completas pois necessrio que o programador adicione detalhes especficos

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 54 Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo Abertura


Especificaes devem ser completas e neutras.
Completa indica que tudo que necessrio para uma implementao, foi especificado. s vezes as interfaces no so completas pois necessrio que o programador adicione detalhes especficos Neutras refere-se ao fato de que as especificaes no indicam como deve ser a aparncia da implementao.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 55 Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo Abertura


Completude e neutralidade so importantes para interoperabilidade e portabilidade. O sistema distribudo deve ser extensvel.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 56 Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo Abertura


Completude e neutralidade so importantes para interoperabilidade e portabilidade. O sistema distribudo deve ser extensvel.
Interoperabilidade: at que ponto 2 implementaes de fornecedores diferentes podem coexistir com base na mera confiana mtua.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 57 Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo Abertura


Completude e neutralidade so importantes para interoperabilidade e portabilidade. O sistema distribudo deve ser extensvel.
Interoperabilidade: at que ponto 2 implementaes de fornecedores diferentes podem coexistir com base na mera confiana mtua. Portabilidade: at que ponto uma aplicao desenvolvida para o SD A, pode ser executada sem modificaes em um SD B, que implementa as mesmas interfaces de A.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 58 Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo Abertura


Completude e neutralidade so importantes para interoperabilidade e portabilidade. O sistema distribudo deve ser extensvel.
Interoperabilidade: at que ponto 2 implementaes de fornecedores diferentes podem coexistir com base na mera confiana mtua. Portabilidade: at que ponto uma aplicao desenvolvida para o SD A, pode ser executada sem modificaes em um SD B, que implementa as mesmas interfaces de A. Extensibilidade: quo fcil adicionar ou substituir componentes sem afetar os que continuam no mesmo lugar.
Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 59 Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo Abertura

Um sistema interopervel, portvel e extensvel, dito flexvel. Muitos sistemas mais antigos e outros contemporneos so construdos com uma abordagem monoltica.
Nessa abordagem a separao dos componentes apenas lgica, ou seja, so implementados como um nico e imenso programa.
Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 60 Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo Abertura

Uma abordagem relativamente nova


O sistema organizado como um conjunto de componentes relativamente pequenos e de fcil distribuio. Isso implica na definio de interfaces para as aplicaes dos usurios, e tambm para as partes internas do sistema.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 61 Captulo 1 - Introduo

www.pearson.com.br

Questo

7. O que um sistema distribudo aberto e quais os benefcios que a abertura proporciona?

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 62 Captulo 1 - Introduo

www.pearson.com.br

7. Um sistema distribudo aberto oferece servios de acordo a regras claramente definidas. Um sistema aberto capaz de interoperar com outros sistemas abertos mais facilmente, e tambm permite que aplicativos sejam facilmente portados entre diferentes implementaes do mesmo sistema.
Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 63 Captulo 1 - Introduo

www.pearson.com.br

Questo

3. Muitos sistemas em rede so organizados em termos de uma retaguarda e uma vanguarda. Como as organizaes se ajustam a viso coerente que exigimos para um sistema distribudo?

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 64 Captulo 1 - Introduo

www.pearson.com.br

3. Um erro facilmente cometido assumir que um sistema distribudo, operando em uma organizao, deve ser espalhado na organizao inteira. Na prtica, vemos sistemas distribudos que esto sendo instalados do modo que uma organizao dividida. Neste sentido, poderamos ter um sistema distribudo suportando procedimentos e processos de retaguarda, bem como ter um sistema de vanguarda separado. Eventualmente, os dois podem estar acoplados, mas no h nenhuma razo para deixar este acoplamento ser totalmente transparente.
Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 65 Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo Escalabilidade

Podem ser relacionadas ao tamanho, termos geogrficos e termos administrativos.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 66 Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo Escalabilidade

Podem ser relacionadas ao tamanho, termos geogrficos e termos administrativos.


Tamanho: fcil adicionar mais usurios e recursos ao sistema.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 67 Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo Escalabilidade

Podem ser relacionadas ao tamanho, termos geogrficos e termos administrativos.


Tamanho: fcil adicionar mais usurios e recursos ao sistema. Termos Geogrficos: Usurio e recursos podem estar longe uns dos outros.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 68 Captulo 1 - Introduo

www.pearson.com.br

Metas de um Sistema Distribudo Escalabilidade

Podem ser relacionadas ao tamanho, termos geogrficos e termos administrativos.


Tamanho: fcil adicionar mais usurios e recursos ao sistema. Termos Geogrficos: Usurio e recursos podem estar longe uns dos outros. Termos Administrativos: ainda fcil de gerenciar o sistema, mesmo que abranja muitas organizaes administrativas diferentes.
Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 69 Captulo 1 - Introduo

www.pearson.com.br

8. Descreva com preciso o que se entende por um sistema escalvel.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 70 Captulo 1 - Introduo

www.pearson.com.br

8. Um sistema escalvel em relao ao nmero de componentes, tamanho geogrfico, ou nmero e tamanho de domnios administrativos. Se ele pode crescer em uma ou mais dessas dimenses sem uma perda inaceitvel de desempenho, considerado escalvel.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 71 Captulo 1 - Introduo

www.pearson.com.br

Problemas de escalabilidade Tamanho

Se for preciso suportar mais recursos e usurio frequentemente deparamos com limitaes de servios, dados e algoritmos centralizados.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 72 Captulo 1 - Introduo

www.pearson.com.br

Problemas de escalabilidade Tamanho

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 73 Captulo 1 - Introduo

www.pearson.com.br

Problemas de escalabilidade Tamanho


O servidor normalmente se transforma no gargalo medida que o nmero de usurios e aplicaes cresce. Mesmo que tenhamos capacidade de armazenamento e processamento ilimitados a comunicao com o servidor acaba impedindo o crescimento. Contudo ter vrios servidores enfraquece a segurana.
Considere um sistema com informaes mdicas confidenciais ou de contas de banco. Mais fcil gerenciar a segurana num nico servidor.
Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 74 Captulo 1 - Introduo

www.pearson.com.br

Problemas de escalabilidade Tamanho

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 75 Captulo 1 - Introduo

www.pearson.com.br

Problemas de escalabilidade Tamanho


Ter um nico banco de dados para armazenar uma lista de endereos e telefones de 50 milhes de pessoas, sem dvida, saturaria todas as linhas de comunicao que acessam o servidor. Imagine como a Internet funcionaria se o Sistema DNS fosse implementado como uma tabela nica?
O DNS mantm informaes de milhes de computadores no mundo inteiro e forma um servio essencial para localizar servidores na Web.

Se cada requisio para resolver um URL tivesse que passar por aquele nico servidor DNS, claro que ningum estaria usando a Web
Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 76 Captulo 1 - Introduo

www.pearson.com.br

Problemas de escalabilidade Tamanho

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 77 Captulo 1 - Introduo

www.pearson.com.br

Problemas de escalabilidade Tamanho


O que distingue um algoritmo descentralizado de um algoritmo centralizado?
Nenhuma mquina tem informaes completas sobre o estado do sistema. As mquinas tomam decises tendo como base somente informaes locais. A falha de uma mquina no arruna o algoritmo. No h nenhuma premissa implcita quanto existncia de um relgio global

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 78 Captulo 1 - Introduo

www.pearson.com.br

Problemas de escabilidade - geogrfica

Impossvel prover comunicao sncrona para grandes distncias. Comunicao em redes de longa distncia no confivel e quase sempre ponto a ponto. Solues centralizadas atrapalham a escalabilidade de tamanho.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 79 Captulo 1 - Introduo

www.pearson.com.br

Problemas de escalabilidade administrativa

Difcil estabelecer polticas de uso e pagamento de:


recursos; gerenciamento; e segurana

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 80 Captulo 1 - Introduo

www.pearson.com.br

Tcnicas de Escalabilidade
Ocultar latncias de comunicao, distribuio e replicao.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 81 Captulo 1 - Introduo

www.pearson.com.br

Tcnicas de Escalabilidade
Ocultar latncias de comunicao, distribuio e replicao.
Latncias de comunicao: tentar evitar esperar por respostas a requisies remotas.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 82 Captulo 1 - Introduo

www.pearson.com.br

Tcnicas de Escalabilidade
Ocultar latncias de comunicao, distribuio e replicao.
Latncias de comunicao: tentar evitar esperar por respostas a requisies remotas. Distribuio: envolve subdividir um componente em partes menores, e espalhar esses componentes pelo sistema.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 83 Captulo 1 - Introduo

www.pearson.com.br

Tcnicas de Escalabilidade
Ocultar latncias de comunicao, distribuio e replicao.
Latncias de comunicao: tentar evitar esperar por respostas a requisies remotas. Distribuio: envolve subdividir um componente em partes menores, e espalhar esses componentes pelo sistema. Replicao: aumenta a disponibilidade, ajuda a dividir a carga e diminui a latncia por ter uma cpia perto.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 84 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 85 Captulo 1 - Introduo

www.pearson.com.br

Tcnicas de escalabilidade - distribuio

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 86 Captulo 1 - Introduo

www.pearson.com.br

Questo

9. A escalabilidade pode ser alcanada atravs da aplicao de tcnicas diferentes. Quais so estas tcnicas?

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 87 Captulo 1 - Introduo

www.pearson.com.br

9. A escalabilidade pode ser obtida atravs da comunicao assncrona, distribuio, replicao/cache.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 88 Captulo 1 - Introduo

www.pearson.com.br

Principais ciladas
Premissas falsas adotadas ao desenvolver uma aplicao distribuda pela primeira vez
1. 2. 3. 4. 5. 6. 7. 8. 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
SISTEMAS DISTRIBUDOS
Princpios e paradigmas slide 89 Captulo 1 - Introduo

Andrew S. Tanenbaum Maarten Van Steen

www.pearson.com.br

Tipos de Sistema Distribudo - Cluster

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 90 Captulo 1 - Introduo

www.pearson.com.br

Tipos de Sistema Distribudo - Cluster


Construo de supercomputadores que usam soluo de prateleira, conectando vrios computadores em uma rede de alta velocidade. usado para programao paralela no qual um nico programa, intensivo em computao, executado em paralelo em vrias mquinas. Conjunto de ns controlados e acessados por um nico n mestre.
Tarefas tpicas do mestre so manipular a alocao de ns a determinado programa paralelo, manter fila de jobs, e fornecer uma interface para o usurio .
Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 91 Captulo 1 - Introduo

www.pearson.com.br

Tipos de Sistema Distribudo Grade (grid)

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 92 Captulo 1 - Introduo

www.pearson.com.br

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 93 Captulo 1 - Introduo

www.pearson.com.br

10. Explique o que se entende por uma organizao virtual e d uma sugesto sobre como tais organizaes poderiam ser implementadas.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 94 Captulo 1 - Introduo

www.pearson.com.br

10. Uma organizao virtual (VO) define um grupo de usurios/aplicaes que tm acesso a um grupo de recursos especficos, que podem ser distribudos atravs de muitos computadores diferentes, pertencentes a diferentes organizaes. Assim, uma VO define quem tem acesso ao que. Isso tambm sugere que os recursos devem manter uma conta de usurios externos, juntamente com os seus direitos de acesso. Muitas vezes isso pode ser feito usando mecanismos de acesso padro de controle (como os bits rwx do UNIX), embora os usurios externos pode precisar ter uma conta especial. Esta ltima opo complica o assunto consideravelmente.
Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 95 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) RPCs (Procedimentos remotos)

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 96 Captulo 1 - Introduo

www.pearson.com.br

Propriedades das transaes


1. Atmicas: para o mundo exterior, a transao acontece como se fosse indivisvel. 2. Consistentes: a transao no viola invariantes de sistema. 3. Isoladas: transaes concorrentes no interferem umas nas outras. 4. 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 97 Captulo 1 - Introduo

www.pearson.com.br

Exemplo de Transao Aninhada

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 98 Captulo 1 - Introduo

www.pearson.com.br

Integrao usando Monitor TP

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 99 Captulo 1 - Introduo

www.pearson.com.br

Integrao usando Middleware de comunicao

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 100 Captulo 1 - Introduo

www.pearson.com.br

11. Dissemos que, quando uma transao abortada, o mundo restaurado ao seu estado anterior, como se a transao nunca tinha acontecido. Mentimos. D um exemplo, onde a redefinio do mundo impossvel.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 101 Captulo 1 - Introduo

www.pearson.com.br

11. Qualquer situao no qual uma E/S fsica ocorrida, no pode ser refeita. por exemplo, se o processo usou uma impressora e imprimiu algum resultado, a tinta no pode ser removida do papel. Alm disso, em um sistema que controla qualquer tipo de processo industrial, geralmente impossvel desfazer o trabalho que foi feito.
Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 102 Captulo 1 - Introduo

www.pearson.com.br

12. Executar transaes aninhadas requer alguma forma de coordenao. Explique o que um coordenador deve realmente fazer.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 103 Captulo 1 - Introduo

www.pearson.com.br

12. Um coordenador precisa simplesmente assegurar que, se uma das transaes aninhadas for abortada, todas as outras subtransaes devem ser abortadas tambm. Da mesma forma, deve coordenar que todos eles realizem commit quando cada um deles pode. Para este fim, uma transao aninhada deve esperar para realizar commit, at que o coordenador solicite a transao a fazer isso.
Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 104 Captulo 1 - Introduo

www.pearson.com.br

Sistemas Distribudos Pervasivos


Sistemas decorrentes do uso de computao mvel e embutida, nas quais o comportamento esperado a instabilidade;
Pequeno tamanho Alimentados por bateria; Comunicao sem fio;

No possui controle administrativo humano, podendo:


1. Adotar mudanas contextuais 2. Incentivar composio ad hoc 3. Reconhecer compartilhamento como padro

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 105 Captulo 1 - Introduo

www.pearson.com.br

Sistemas Pervasivos - Exemplos Sistemas para tratamento de Sade

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 106 Captulo 1 - Introduo

www.pearson.com.br

Sistemas Pervasivos - Exemplos Redes de sensores sem fio

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 107 Captulo 1 - Introduo

www.pearson.com.br

13. Argumentamos que a transparncia de distribuio pode no estar presente para sistemas pervasivos. Esta afirmao no verdade para todos os tipos de transparncias. D um exemplo.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 108 Captulo 1 - Introduo

www.pearson.com.br

13. Pense na transparncia de migrao. Em sistemas pervasivos, componentes so mveis e tero que restabelecer conexes quando se deslocam de um ponto de acesso para outro. De preferncia, tais handovers devem ser completamente transparentes para o usurio. Da mesma forma, pode-se afirmar que tambm muitos outros tipos de transparncias devem ser suportados. No entanto, o que no deve ser escondido, um usurio estar possivelmente acessando recursos que esto diretamente no ambiente atual do usurio.
Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 109 Captulo 1 - Introduo

www.pearson.com.br

14. J demos alguns exemplos de sistemas distribudos pervasivos: sistemas domsticos, sistemas eletrnicos para tratamento de sade e redes de sensores. Estenda esta lista com mais exemplos.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 110 Captulo 1 - Introduo

www.pearson.com.br

14. H uma srie de outros exemplos de sistemas


pervasivos. Pense em redes sem fio de grande escala, em cidades ou bairros que prestam servios, tais como: acesso Internet, mas tambm formam base para outros servios, como um sistema de notcia. Existem sistemas de monitoramento de habitats (como em resorts da vida selvagem), prises eletrnicas em que os infratores so monitorados constantemente, sistemas de esportes integrados em grande escala, sistemas de escritrio disponibilizando etiquetas ativas para saber a localizao de seus funcionrios, e assim por diante.
Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 111 Captulo 1 - Introduo

www.pearson.com.br

Exerccio em Sala
Esboce um projeto para um sistema domstico composto de um servidor de mdia a parte, que permita a ligao de um cliente sem fio. Este servidor est conectado a um equipamento (analgico) de udio/vdeo e transforma os fluxos de mdia digital em sada analgica. O servidor executado em uma outra mquina, possivelmente conectada a Internet, mas no tem nenhum teclado e/ou o monitor conectado a ele.

Andrew S. Tanenbaum Maarten Van Steen

SISTEMAS DISTRIBUDOS
Princpios e paradigmas

slide 112 Captulo 1 - Introduo