Buscar

Lista Revisao

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

Sistemas Distribuídos 
 
Lista de revisão para a primeira prova 
 
Data da entrega: dia 08/04/2018, no moodle 
Valor: 2 pontos 
Pode ser feito em dupla 
 
 
Questões 
 
 
1. Analise as afirmativas a seguir, marque V para as verdadeiras e F para as falsas: 
 
a. ( ) Sistemas distribuídos consistem em computadores autônomos que 
trabalham juntos para dar a aparência de um único sistema coerente. 
 
b. ( ) Ao projetar um SD, pode-se adotar como premissa que a latência da rede 
não é significativa. 
 
c. ( ) SDs facilitam a integração em um único sistema de diferentes aplicações 
que executam em computadores diferentes. 
 
d. ( ) Quando adequadamente projetados, SDs podem ser ampliados com 
facilidade em relação ao tamanho da rede subjacente. 
 
e. ( ) Muitas vezes, as vantagens obtidas com SDs vêm à custa de software 
mais complexo, degradação do desempenho, e também, frequentemente, de 
menor segurança. 
 
f. ( ) Devido à robustez inerente aos sistemas distribuídos, podemos admitir 
que a rede é confiável, estática, segura e homogênea. 
 
g. ( ) SDs costumam ter como meta ocultar grande parte das complexidades 
relacionadas à distribuição de processos, dados e controle. 
 
h. ( ) Na prática, transparência em SDs pode nunca ser totalmente alcançada. 
 
i. ( ) Transparência em SDs é conseguida à custa do desempenho. 
 
 
j. ( ) O fato de ser necessário estabelecer compromissos de modo a obter 
várias formas de transparência de distribuição é inerente ao projeto de SDs. 
 
2. Defina com suas próprias palavras o que é um Sistema Distribuído. Cite alguns 
exemplos. 
 
3. Defina com suas próprias palavras o que é um middleware. Explique o papel e 
importância de middlewares em sistemas distribuídos. 
 
4. Explique o que quer dizer transparência de distribuição. Dê exemplos de diferentes 
tipos de transparência de distribuição. 
 
5. Explique por que às vezes é tão difícil ocultar a ocorrência e a recuperação de falhas 
em um sistema distribuído. 
 
6. Por que nem sempre é uma boa ideia visar à implementação do mais alto grau de 
transparência possível? 
 
7. Descreva com suas próprias palavras o que quer dizer sistema escalável. 
 
8. Explique as diferentes técnicas que podem ser utilizadas para se alcançar 
escalabilidade em Sistemas Distribuídos. 
 
9. Dissemos que, quando uma transação é abortada, o mundo é restaurado a seu 
estado anterior, como se a transação nunca tivesse acontecido. Mentimos. Dê um 
exemplo no qual restaurar o mundo é impossível. 
 
10. Sobre arquiteturas de sistemas distribuídos, marque V para as verdadeiras e F para 
as falsas: 
 
 
a. ( ) Um estilo arquitetônico reflete o princípio básico que é seguido na 
organização da interação entre os componentes de software que 
compreendem um sistema distribuído. 
 
b. ( ) Podemos fazer uma distinção entre arquitetura de software e arquitetura 
de sistemas. A primeira considera onde os componentes que constituem um 
sistema distribuído estão colocados nas várias máquinas. A última se 
preocupa mais com a organização lógica do software. 
 
c. ( ) Entre os estilos arquitetônicos importantes estão “disposição em 
camadas”, “orientação a objetos”, “orientação a eventos” e “orientação a 
espaço de dados”. 
 
d. ( ) Arquiteturas cliente-servidor costumam apresentar alto grau de 
descentralização. 
 
 
e. ( ) Em arquiteturas descentralizadas, frequentemente vemos um papel igual 
desempenhado pelos processos que constituem um sistema distribuído, 
também conhecidos como sistemas peer-to-peer (P2P). 
 
f. ( ) Em sistemas P2P, os processos são organizados em uma rede de 
sobreposição, que é uma rede física na qual todo processo tem uma lista 
local de outros pares os quais ele pode se comunicar. 
 
g. ( ) A rede de sobreposição de sistemas P2P pode ser estruturada, caso em 
que são disponibilizados esquemas determinísticos para rotear mensagens 
entre processos. 
 
h. ( ) Em redes não estruturadas, a lista de pares é mais ou menos aleatória, o 
que implica que é preciso disponibilizar algoritmos de busca para localizar 
dados ou outros processos. 
 
i. ( ) Sistemas autogerenciadores podem ser organizados, de modo geral, 
como laços de realimentação de controle. 
 
 
11. Se um cliente e um servidor forem colocados longe um do outro, podemos ver a 
latência de rede dominar o desempenho global. Como podemos atacar este 
problema? 
 
12. O que é uma arquitetura cliente-servidor de três divisões? 
 
13. Em uma rede de sobreposição estruturada, mensagens são roteadas de acordo com 
a topologia de sobreposição. Cite uma importante desvantagem desta abordagem. 
 
14. Considere uma cadeia de processos P​1​, P​2​, …, P​n​ implementando uma arquitetura 
cliente-servidor multi dividida. O processo P​i​ é cliente do processo P​i+1​, e P​i​ retornará 
uma resposta a P​i-1​ somente após receber uma resposta de P​i+1​. Quais são os 
principais problemas dessa organização quando se examina o desempenho de 
requisição-resposta no processo P​1​? 
 
15. Sobre processos em sistemas distribuídos, marque V para as verdadeiras e F para 
as falsas: 
 
a. ( ) Processos desempenham um papel fundamental em sistemas distribuídos 
porque formam uma base para comunicação entre máquinas diferentes. 
 
b. ( ) Threads em SDs são particularmente úteis para continuar usando a CPU 
quando é realizada uma operação bloqueadora de entrada/saída. (E/S). 
 
 
c. ( ) Threads possibilitam a construção de servidores de alta eficiência que 
executam vários threads em paralelo, entre os quais diversos podem estar 
bloqueados à espera da conclusão de E/S de disco ou de comunicação de 
rede. 
 
d. ( ) SDs que operam em redes de grandes distância, não precisam buscar 
mecanismos para ocultar a latência comunicação. 
 
e. ( ) O software cliente pode ocultar latência de comunicação com a utilização 
de threads. 
 
f. ( ) Em SDs, o software cliente visa a conseguir transparência de distribuição 
ocultando detalhes referentes à comunicação com servidores, à localização 
destes servidores no momento em questão e a respeito de se os servidores 
são ou não replicados. 
 
g. ( ) Em SDs, o software cliente não deve ter nenhum grau de 
responsabilidade quanto a ocultar falhas de comunicação. 
 
h. ( ) Servidores podem ser iterativos ou concorrentes, implementar um ou mais 
serviços e podem ser sem estado ou com estado. 
 
i. ( ) A organização interna de um cluster de servidores deve ser transparente 
para as aplicações cliente. 
 
j. ( ) A maioria dos clusters usa um único ponto de entrada que pode entregar 
mensagens a servidores no cluster. 
 
k. ( ) Duas razões importantes para não implementar migração de código são 
aumentar desempenho e flexibilidade. 
 
l. ( ) Quando a comunicação é cara, às vezes podemos reduzi-la despachando 
computações do servidor para o cliente e deixando o cliente fazer o máximo 
possível de processamento local. 
 
m. ( ) Migração de código não requer que levemos a heterogeneidade em 
conta. 
 
n. ( ) A utilização de máquinas virtuais não é uma boa solução para lidar com a 
heterogeneidade. 
 
o. ( ) Para suportar e possibilitar um melhor desempenho de clientes WEB 
multithreading, servidores WEB devem ser implementados para suportar 
múltiplas conexões de diferentes (ou dos mesmos) usuários. 
 
 
p. ( ) Cluster de Servidores Distribuídos pode ser definido como um conjunto de 
máquinas que possivelmente muda dinamicamente, com vários pontos de 
acesso também possivelmente variáveis, mas se apresenta ao mundo 
externo como um única e poderosa máquina. 
 
16. Teria sentido limitar a quantidade de threads em um processo servidor? 
 
17. Imagine um servidor Web que mantenha umatabela na qual endereços IP de 
clientes sejam mapeados para as páginas Web acessadas mais recentemente. 
Quando um cliente se conecta ao servidor, este consulta o cliente em sua tabela e, 
caso encontre, retorna a página registrada. Este servidor é com estado ou sem 
estado? 
 
18. Considere um processo ​P​ que requer acesso ao arquivo ​F​, disponível na máquina 
em que ​P​ está executando no momento em questão. Quando ​P​ passa para outra 
máquina, ele ainda requer acesso a ​F​. Se a vinculação arquivo-máquina for fixa, 
como poderia ser implementada a referência a ​F​ no âmbito do sistema? 
 
19. Sobre comunicação em sistemas distribuídos, marque V para as verdadeiras e F 
para as falsas: 
 
a. ( ) Em aplicações tradicionais de rede, a comunicação costuma ser baseada 
nas primitivas de troca de mensagens de baixo nível oferecidas pela camada 
de transporte. Uma questão importante em sistemas middleware é oferecer 
um nível mais alto de abstração que facilitará expressar comunicação entre 
processos mais do que o suporte oferecido pela interface com a camada de 
transporte. 
 
b. ( ) A essência de uma RPC é que um serviço é implementado por meio de 
um procedimento cujo corpo é executado em um servidor. O cliente recebe 
apenas a assinatura do procedimento, isto é, o nome do procedimento junto 
com seus parâmetros. 
 
c. ( ) Uma das abstrações mais amplamente utilizadas em SDs é a chamada 
de procedimento remoto (RPC). 
 
d. ( ) Em uma chamada RPC, a implementação do lado do cliente (apêndice), 
fica encarregada de empacotar os valores dos parâmetros em uma 
mensagem e enviá-la ao servidor. 
 
e. ( ) RPCs oferecem facilidades de comunicação assíncrona, pelas quais um 
cliente é bloqueado até que o servidor tenha enviado uma resposta. 
 
f. ( ) Em modelos orientados a mensagem, as questões giram em torno de se 
uma comunicação é ou não persistente e se uma comunicação é ou não 
síncrona. 
 
 
g. ( ) A essência da comunicação persistente é que uma mensagem 
apresentada para transmissão não é armazenada pelo sistema de 
comunicação pelo tempo que for necessário para entregá-la. 
 
h. ( ) Em uma comunicação persistente, tanto o remetente quanto o receptor 
precisam estar ligados e funcionando para que a transmissão da mensagem 
ocorra. 
 
i. ( ) Em uma comunicação transiente, nenhuma facilidade de armazenamento 
é oferecida. Deste modo, o receptor deve estar funcionando para aceitar a 
mensagem no momento do envio. 
 
j. ( ) Em comunicação síncrona, o remetente tem permissão de continuar 
imediatamente após a mensagem ter sido apresentada para transmissão, 
possivelmente antes mesmo de ser enviada. 
 
k. ( ) Modelos de middleware orientado a mensagem em geral oferecem 
comunicação assíncrona persistente e são usados onde RPCs não são 
adequados. 
 
l. ( ) Em comunicação por fluxo de dados, em geral, é difícil especificar e 
implementar quais são, exatamente, as relações temporais ou o que se 
espera do subsistema de comunicação subjacente em termos de qualidade 
de serviço. 
 
m. ( ) A ideia básica do multicasting é disseminar informações de um remetente 
para vários receptores. 
 
20. Considere que um cliente chama uma RPC assíncrona para um servidor e, na 
sequência, espera até que o servidor retorne um resultado usando uma outra RPC 
assíncrona. Esta abordagem é o mesmo que deixar o cliente executar uma RPC 
normal? 
 
21. Faz sentido implementar comunicação persistente assíncrona por meio de RPCs? 
 
22. Explique por que a comunicação transiente síncrona tem problemas inerentes de 
escalabilidade e como podem ser resolvidos. 
 
23. Apesar de o multicasting ser tecnicamente viável, há pouquíssimo suporte para 
disponibilizá-lo na internet. A resposta para este problema deve ser buscada em 
puros e simples modelos de negócios: na realidade, ninguém sabe como ganhar 
dinheiro com o multicasting. Você pode inventar um sistema?

Outros materiais