aula 4 - carloseduardoxp.files.wordpress.com · em geral, é impossível detectar se um servidor é...

16
2013-2 Programação de Sistemas Distribuídos e Concorrência Programação de Sistemas Distribuídos e Concorrência Aula 4 Prof: Carlos Eduardo de Carvalho Dantas ([email protected] ) h ttp://carloseduardoxp.wordpress.com “Ensinar é aprender duas vezes.” – Joseph Joubert

Upload: vankhue

Post on 12-Dec-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aula 4 - carloseduardoxp.files.wordpress.com · Em geral, é impossível detectar se um servidor é realmente caiu, ou se está simplesmente lento na resposta. Consequentemente, um

2013-2 Programação de Sistemas Distribuídos e Concorrência

Programação de Sistemas

Distribuídos e Concorrência

Aula 4

Prof: Carlos Eduardo de Carvalho Dantas

([email protected])

http://carloseduardoxp.wordpress.com

“Ensinar é aprender duas vezes.” – Joseph Joubert

Page 2: Aula 4 - carloseduardoxp.files.wordpress.com · Em geral, é impossível detectar se um servidor é realmente caiu, ou se está simplesmente lento na resposta. Consequentemente, um

2013-2 Programação de Sistemas Distribuídos e Concorrência

Correção Exercícios

Computação paralela. Se for possível criar

programas onde este pode executar sem muitas

modificações em sistemas distribuídos que parecem

ser idênticos a sistemas não-distribuídos, será bem

mais fácil.

Page 3: Aula 4 - carloseduardoxp.files.wordpress.com · Em geral, é impossível detectar se um servidor é realmente caiu, ou se está simplesmente lento na resposta. Consequentemente, um

2013-2 Programação de Sistemas Distribuídos e Concorrência

Correção Exercícios

Para aumentar a transparência de distribuição que

está faltando em sistemas operacionais de rede. Em

outras palavras, o middleware visa melhorar a visão

do sistema simples, que um sistema distribuído deve

ter.

Page 4: Aula 4 - carloseduardoxp.files.wordpress.com · Em geral, é impossível detectar se um servidor é realmente caiu, ou se está simplesmente lento na resposta. Consequentemente, um

2013-2 Programação de Sistemas Distribuídos e Concorrência

Correção Exercícios

Um erro facilmente feito é assumir que um sistema

distribuído como operacional em uma organização,

deve ser espalhado por toda a organização. Na

prática, vemos sistemas distribuídos sendo

instalados ao longo do caminho que uma

organização é dividida. Neste sentido, pode ter um

sistema distribuído de apoio aos processos de

backoffice, bem como um sistema separado de front-

end.

Page 5: Aula 4 - carloseduardoxp.files.wordpress.com · Em geral, é impossível detectar se um servidor é realmente caiu, ou se está simplesmente lento na resposta. Consequentemente, um

2013-2 Programação de Sistemas Distribuídos e Concorrência

Correção Exercícios

Transparência de distribuição é o fenômeno pelo qual

os aspectos de distribuição em um sistema estão

ocultos dos usuários e aplicações. Exemplos incluem

o acesso transparência, a transparência de

localização, transparência de migração,

transparência de localização, a transparência de

replicação, transparência de concorrêcia,

transparência de falha, e a transparência de

persistência

Page 6: Aula 4 - carloseduardoxp.files.wordpress.com · Em geral, é impossível detectar se um servidor é realmente caiu, ou se está simplesmente lento na resposta. Consequentemente, um

2013-2 Programação de Sistemas Distribuídos e Concorrência

Correção Exercícios

Em geral, é impossível detectar se um servidor é

realmente caiu, ou se está simplesmente lento na

resposta. Consequentemente, um sistema pode ter

que reportar que o sistema está fora, mas às vezes

ele está apenas lento.

Page 7: Aula 4 - carloseduardoxp.files.wordpress.com · Em geral, é impossível detectar se um servidor é realmente caiu, ou se está simplesmente lento na resposta. Consequentemente, um

2013-2 Programação de Sistemas Distribuídos e Concorrência

Correção Exercícios

Visando o mais alto grau de transparência pode levar

a uma considerável perda de desempenho que os

usuários não estão dispostos a aceitar.

Page 8: Aula 4 - carloseduardoxp.files.wordpress.com · Em geral, é impossível detectar se um servidor é realmente caiu, ou se está simplesmente lento na resposta. Consequentemente, um

2013-2 Programação de Sistemas Distribuídos e Concorrência

Correção Exercícios

Um sistema distribuído aberto oferece serviços de

acordo com regras claramente definidas. Um sistema

aberto é capaz de facilmente interoperar com outros

sistemas abertos, mas também permite que

aplicativos sejam facilmente portados entre diferentes

implementações do mesmo sistema

Page 9: Aula 4 - carloseduardoxp.files.wordpress.com · Em geral, é impossível detectar se um servidor é realmente caiu, ou se está simplesmente lento na resposta. Consequentemente, um

2013-2 Programação de Sistemas Distribuídos e Concorrência

Correção Exercícios

Um sistema é escalonável no que diz respeito a

qualquer um dos componentes do seu número,

dimensão geográfica, ou o número e tamanho das

áreas administrativas, se pode crescer em uma ou

mais destas dimensões, sem uma perda inaceitável

de desempenho.

Page 10: Aula 4 - carloseduardoxp.files.wordpress.com · Em geral, é impossível detectar se um servidor é realmente caiu, ou se está simplesmente lento na resposta. Consequentemente, um

2013-2 Programação de Sistemas Distribuídos e Concorrência

Correção Exercícios

Escalabilidade pode ser alcançado através da

distribuição, replicação e caching

Page 11: Aula 4 - carloseduardoxp.files.wordpress.com · Em geral, é impossível detectar se um servidor é realmente caiu, ou se está simplesmente lento na resposta. Consequentemente, um

2013-2 Programação de Sistemas Distribuídos e Concorrência

Correção Exercícios

A organização virtual (VO) define um grupo de usuários /

aplicações que têm acesso a um específico grupo de

recursos, que podem ser distribuídos através de muitos

computadores diferentes, pertencentes a diversas

organizações. Com efeito, um VO define quem tem acesso a

quê. Isso também sugere que os recursos devem manter uma

conta de usuários estrangeiros juntamente com os seus

direitos de acesso. Isso muitas vezes pode ser feito usando os

mecanismos de controle de acesso padrão (como os bits rwx

em UNIX), embora os usuários estrangeiros podem precisar

ter uma conta especial. O último complica consideravelmente.

Page 12: Aula 4 - carloseduardoxp.files.wordpress.com · Em geral, é impossível detectar se um servidor é realmente caiu, ou se está simplesmente lento na resposta. Consequentemente, um

2013-2 Programação de Sistemas Distribuídos e Concorrência

Correção Exercícios

Qualquer situação em que ocorreu entrada e saída

física não pode ser reposto. Por exemplo, se o

processo de produção tenha sido impresso alguma

saída, a tinta não pode ser removida a partir do

papel. Além disso, num sistema que controla a

qualquer tipo de processo industrial, é geralmente

impossível de desfazer o trabalho que tem sido feito.

Page 13: Aula 4 - carloseduardoxp.files.wordpress.com · Em geral, é impossível detectar se um servidor é realmente caiu, ou se está simplesmente lento na resposta. Consequentemente, um

2013-2 Programação de Sistemas Distribuídos e Concorrência

Correção Exercícios

A coordenadora precisa simplesmente assegurar

que, se uma das transações aninhadas aborta, que

todas as outras subtransações abortem também. Da

mesma forma, deve coordenar a que todos eles

comitem a transação quando cada um puder.

Finalmente, uma transação aninhada deve esperar

para comitar até que seja solicitado a fazer isso pelo

coordenador.

Page 14: Aula 4 - carloseduardoxp.files.wordpress.com · Em geral, é impossível detectar se um servidor é realmente caiu, ou se está simplesmente lento na resposta. Consequentemente, um

2013-2 Programação de Sistemas Distribuídos e Concorrência

Correção Exercícios

Pense na transparência de migração. Em muitos sistemas

pervasivos, componentes são móveis e terá que restabelecer

conexões quando se deslocam de um ponto de acesso para

outro. Preferêncialmente, tais transmissões deve ser

completamente transparente para o utilizador. Da mesma

forma, pode-se argumentar que muitos outros tipos de

transparências devem ser suportados também. No entanto, o

que não deve ser escondido para o usuário é a possibilidade

de acessar recursos que estão diretamente ligados ao

ambiente atual do usuário.

Page 15: Aula 4 - carloseduardoxp.files.wordpress.com · Em geral, é impossível detectar se um servidor é realmente caiu, ou se está simplesmente lento na resposta. Consequentemente, um

2013-2 Programação de Sistemas Distribuídos e Concorrência

Correção Exercícios

Há alguns outros exemplos de sistemas pervasivos. Pense em

redes em malha sem fio de larga nas cidades ou bairros que

prestam serviços tais como acesso à Internet, mas também

formam a base para outros serviços como um sistema de

notícias. Existem sistemas de monitoramento habitat (como

em resorts da vida selvagem), prisões eletrônicas por

criminosos, que são continuamente monitoradas, em larga

escala de sistemas integrados de esportes, sistemas de

escritório, implantação de emblemas ativos para saber sobre o

paradeiro de seus funcionários, e assim por diante.

Page 16: Aula 4 - carloseduardoxp.files.wordpress.com · Em geral, é impossível detectar se um servidor é realmente caiu, ou se está simplesmente lento na resposta. Consequentemente, um

2013-2 Programação de Sistemas Distribuídos e Concorrência

Referências Bibliográficase

[1] Sistemas distribuídos – princípios e paradigmas.

Cap 1