Professional Documents
Culture Documents
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ãoconfiáveis.
Explique a diferença entre as primitivas bloqueantes e nãobloqueantes.
Qual a vantagem em usar buffers?
Por que usar primitivas nãoconfiá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?