Sistemas distribuídos
1- Em quais situações um servidor poderia atuar como cliente e servidor? Forneça um exemplo. Todas as vezes que um servidor, ao atender a solicitação de um cliente, precisar requisitar outro servidor ele atuará tanto como servidor e cliente ao mesmo tempo. Um exemplo seria a transformação de um nome (URL) em um endereço IP pelo DNS. Mais informações no slide 50 (Conceitos de redes) 2- Um soquete desenvolvido na linguagem Basic pode se comunicar com soquetes desenvolvidos na linguagem Cobol? E com os desenvolvidos na linguagem Perl? Por quê? Sim. Isso é possível pois soquetes se baseiam em padrões (interfaces) de domínio público. Assim, não interessa em qual linguagem foi aberto um soquete, o importante é que a forma como é feita a comunicação entre o cliente e o servidor segue o mesmo padrão. 3- Explique o funcionamento da interface Sockets. Um resumo pode ser encontrado nos slides de comunicação entre processos. No livro está mais detalhado (recomendado leitura) 4- O que acontece quando um serviço (processo) deseja receber e tratar várias requisições simultâneas recepcionadas por uma mesma porta? Como o processo servidor tipicamente atua? Para tratar várias requisições simultâneas a um mesmo serviço, o servidor deve tratar cada requisição em uma thread separada, bem como, redirecionar a comunicação com o cliente para uma outra porta disponível sem ser a utilizada pelo serviço. A porta utilizada pelo serviço deve sempre ficar livre para recepcionar novas requisições. Resumo nos slides, detalhes no livro base. 5- Quais os problemas da troca de informações utilizando comunicação via UDP e TCP? Existe alguma que é recomendada para todos os casos? Por quê? Os problemas da comunicação por UDP são: slide 17 Os problemas da comunicação por TCP são: slide 24 6- (Exercício 17, cap4 Tanenbaum) Com comunicação persistente (mensagem a ser transmitida é armazenada durante todo o