You are on page 1of 3

Problemas propostos (baseados no livro Sistemas Distribudos Princpios e Paradigmas) Introduo (Captulos 1, 2 e 3): 1.

. Uma definio alternativa para um sistema distribudo que ele um conjunto de computadores independentes que d a impresso de ser um sistema nico, ou seja, o fato de ter vrios computadores, fica completamente oculto para os usurios. D um exemplo em que esta situao viria muito a calhar. 2. Qual o papel de um middleware em um sistema distribudo? 3. Muitos sistemas de redes so organizados em termos de uma retaguarda e de uma vanguarda. Como as organizaes se ajustam viso coerente que exigida para um sistema distribudo? 4. Explique o que quer dizer transparncia e d exemplo de diferentes tipos de transparncias. 5. Por que as vezes to difcil ocultar a ocorrncia e recuperao de falhas em um sistema distribudo? 6. Por que nem sempre uma boa idia direcionar a implementao com o um alto grau de transparncia possvel? 7. O que um sistema distribudo aberto e quais benefcios a abertura proporciona? 8. Discuta sobre a escalabilidade em sistemas distribudos. 9. O que significa organizao virtual? D uma sugesto para a implementao dessa organizao. 10. Discuta sobre as propriedades associadas a execuo de transaes. 11. Se um cliente e um servidor forem colocados longe um do outro, podemos ver a latncia da rede dominar o desempenho global. Como podemos atacar este problema? 12. Discuta sobre a arquitetura cliente-servidor. 13. Em uma rede de sobreposio estruturada, mensagens so roteadas de acordo com a topologia de sobreposio. Cite uma possvel desvantagem dessa abordagem. 14. Faa uma anlise comparativa envolvendo abordagens monothreads X multithreads. 15. Teria sentido limitar o nmero de threads em um servidor? 16. Faa o esboo de um servidor multithread que suporta vrios protocolos que usam sockets como sua interface de nvel de transporte para o sistema operacional subjacente. Comunicao (Captulo 4): 17. Em muitos protocolos de camadas, cada camada tem o seu prprio cabealho. Certamente seria mais eficiente ter um nico cabealho frente de cada mensagem que contivesse todos os controles do que ter todos esses cabealhos separados. Por que isto no feito? 18. Por que servios de comunicao de nvel de transporte frequentemente so inadequados para construir aplicaes distribudas? 19. C tem uma construo denominada Union, na qual um campo de um registro, denominado Struct em C pode conter qualquer uma das diversas alternativas. Em tempo de execuo, no h nenhum modo garantido para dizer qual delas est naquele campo. Essa caracterstica de C tem quaisquer implicaes para chamadas de procedimentos remotos? Explique sua resposta.

20. Um modo para manipular converso de parmetros em sistemas RPC fazer com que cada mquina envie parmetros em sua representao nativa, e a outra, faa a traduo, se necessrio. O sistema nativo poderia ser indicado por um cdigo no primeiro byte. Contudo, uma vez que localizar o primeiro byte na primeira palavra exatamente o problema, isso pode funcionar? 21. Em vez de deixar que um servidor registre a si mesmo em um deamon como em DCE, poderamos tambm preferir sempre designar a ele a mesma porta. Portanto, esta porta poderia ser usada em referncias a objetos no espao de endereo do servidor. Qual a principal desvantagem desse esquema? 22. Seria til fazer tambm distino entre RPCs dinmicas e estticas? 23. Suponha que voc s possa usar primitivas de comunicao transientes, entre elas, apenas uma primitiva assncrona receive. Como voc implementaria primitivas para comunicao transiente sncrona? 24. Suponha que voc dispe apenas de primitivas de comunicao transiente sncrona. Como voc implementaria primitivas para comunicao assncrona? 25. No texto do livro do Tanenbaum, afirma-se que, para iniciar automaticamente um processo a fim de buscar mensagens de uma fila de entrada, frequentemente utilizado um deamon que monitora a fila de entrada. Descreva uma forma de implementao alternativa que no utiliza um deamon. 26. Tabelas de roteamento no WebSphere da IBM e em muitos outros sistemas de enfileiramento de mensagens so configuradas manualmente. Descreva um modo de fazer isso automaticamente. 27. Com a comunicao persistente, um receptor geralmente tem o seu prprio buffer local no qual mensagens podem ficar armazenadas quando o receptor no estiver em execuo. Para criar tal buffer, talvez seja preciso especificar o seu tamanho. Cite um argumento a favor e outro contra a especificao do tamanho. 28. Como voc poderia garantir um atraso mximo fim-a-fim quando um conjunto de computadores estiver organizado em um anel (lgico ou fsico)? Sincronizao 29. Cite possveis fontes de atrasos que podem ser introduzidas entre a transmisso da hora em broadcast WWV e o ajuste, pelos processadores, de seus relgios internos em um sistema distribudo. 30. Considere o comportamento de duas mquinas em um sistema distribudo. Ambas tm relgios que devem pulsar 1.000 vezes por milesegundo. Um deles realmente pulsa a esta taxa, mas o outro pulsa somente 990 vezes. Se as atualizaes UTC chegam uma vez por minuto, qual ser a mxima defasagem dos relgios? 31. Quando um n sincroniza seu relgio com o de outro n, em geral uma boa idia tambm levar em considerao medies anteriores. Por qu? D um exemplo de uma situao onde as leituras anteriores devem ser levadas em conta. 32. Para conseguir multicast totalmente ordenado com marcas de tempo Lamport, estritamente necessrio que cada mensagem seja reconhecida? 33. Considere uma camada de comunicao na qual mensagens so entregues somente na ordem em que as mensagens foram enviadas. D um exemplo no qual, at mesmo essa ordenao desnecessariamente restritiva. 34. Muitos algoritmos distribudos requerem a utilizao de um processo coordenador. At que ponto esses algoritmos so considerados distribudos? 35. Na abordagem centralizada da excluso mtua Figura 6.14 -, ao receber uma mensagem de um processo que est liberando o seu acesso exclusivo aos recursos

que esta usando, o coordenador normalmente concede permisso ao primeiro processo da fila. Cite outro algoritmo possvel para o coordenador 36. Ainda com relao a Figura 6.14, considere que o corrdenador caia. Isso sempre derruba o sistema? Se no derrubar, sob quais circunstncias isso acontece? H algum modo de evitar o problema e fazer com que o sistema seja capaz de tolerar quedas de cordenador? 37. O algoritmo distribudo (Ricart e Agrawala) apresenta o seguinte problema: se um processo falhou e no responde a uma requisio de um outro processo para acessar um recurso, a falta de resposta ser interpretada como uma recusa de permisso. Sugerimos que todas as requisies sejam respondidas imediatamente para facilitar a deteco de processos que falharam. H alguma circunstncia em que este mtodo seja insuficiente? Discuta. 38. Um sistema distribudo pode ter vrios recursos independentes. Imagine que o processo 0 quer acessar o recurso A e o processo 1 quer acessar o recurso B. Poderia o algoritmo de Ricart e Agrawala resultar em deadlock? 39. Suponha que dois processos detectem a morte do coordenador simultaneamente e ambos decidam convocar eleies que utilizem o algoritmo do Valento. O que acontecer?

You might also like