You are on page 1of 1

Sistemas Distribuídos – Prof.

 Ricardo Pinheiro ­ Lista de exercícios

1. O que é confiabilidade, em um sistema distribuído?
2. Dizemos que um sistema tem 99% de disponibilidade. O que isso significa?
3. O   modelo   OSI   funciona   muito   bem   para   diversas   situações,   mas   para   um   sistema 
distribuído, não é exatamente a melhor escolha. Por quê?
4. Temos   vários   processos   num   sistema   distribuído,   espalhados   entre   várias   máquinas. 
Apresente uma maneira de endereçar cada um deles, de forma que em todo o conjunto, esse 
número seja único.
5. Qual   é   a   grande   vantagem   que   a   RPC   (chamada   remota   a   procedimento)   traz   para   os 
sistemas distribuídos?
6. Podemos agrupar processos em grupos, e enviar mensagens em multicast para todo esse 
grupo.  Esses processos  estão em máquinas  diferentes,  podendo estar inclusive  em redes 
diferentes. E aí reside o problema. Qual problema isso pode ocasionar?
7. Digamos que o cliente faz uma solicitação ao servidor, mas antes mesmo da resposta voltar, 
o cliente está fora do ar. Como o servidor pode lidar com tal situação?
8. Um possível protocolo de troca de mensagens dentro de um sistema distribuído terá que ter 
primitivas   de   troca   de   mensagens   bem   definidas.   Elas   podem   ser   bloqueantes   ou   não­
bloqueantes, com ou sem buffer, confiáveis ou não­confiáveis. 
 Explique a diferença entre as primitivas bloqueantes e não­bloqueantes.
 Qual a vantagem em usar buffers?
 Por que usar primitivas não­confiáveis?
9. Há várias situações onde o uso de chamadas remotas a procedimento são possíveis, mas nem 
sempre fáceis. Cite uma e explique essa dificuldade.
10.  Problemas acontecem. Nunca estamos imunes a isso, nem mesmo em sistemas distribuídos. 
Logo, como lidar com a situação, em que:
 O servidor cai logo depois que ele recebe uma requisição do cliente?
 A mensagem enviada do cliente para o servidor não chega?
 O servidor envia a resposta ao cliente, que não recebe a mensagem?
11. Temos um grupo, e um processo quer entrar no grupo. Suponhamos que ele saiba quem são 
os membros do grupo. Como ele deve fazer?
12. E o mesmo processo, como deve proceder para sair de um grupo?
13. E se o processo acabou deixando de existir, sucumbindo à falha do sistema?
14. O que são grupos igualitários, dentro de uma comunicação grupal?
15. O uso de broadcast é fortemente desaconselhado em comunicação grupal. Por quê?
16. Qual é a idéia por trás do balanceamento de carga?
17. Por que fazer a tradução da mensagem entre UCPs diferentes?
18. Como fazer a passagem de ponteiros no caso de uma chamada remota a procedimento?
19. Um   problema   comum   é   como   endereçar   processos   num   sistema   distribuído.   Existem 
algumas soluções propostas. Escolha uma e comente a respeito.
20. Por que o desejo de ter o que chamamos de imagem única do sistema?

You might also like