Lista resolvida de sistemas distribuidos
A maior diferença entre um sistema distribuído e um sistema centralizado é a forma de implementar a comunicação entre processos. Nos Sistemas Centralizados grande parte dos métodos de comunicação assume implicitamente a existência de memória compartilhada enquanto nos Sistemas Distribuídos não existe nenhuma forma de compartilhamento, e a comunicação é baseada em troca de mensagens. A comunicação no segundo sistema se dá através de uma memória compartilhada em que grande parte dos métodos de comunicação assume implicitamente essa característica.
2. Explique como funciona a Chamada Remota de Procedimento (RPC).
A Chamada Remota a Procedimento (RPC) permite um programa realizar uma chamada um procedimento em um máquina diferente ou em um espaço de endereço diferente na mesma máquina. Funciona da seguinte maneira:
3. Quais semânticas podem ser adotadas pelo RPC para que o SD tolere a falhas, no caso em que o servidor cair? E no caso do cliente ficar desconectado?
Temos três semânticas para o caso do servidor cair, são elas:
Semântica de no mínimo uma vez, garante que a chamada remota ao procedimento será executada no mínimo uma vez, podendo executar mais vezes é possível o reenvio das requisição ao procedimento (no servidor), a não filtragem de requisições duplicadas e havendo reexecução do procedimento;
Semântica de no máximo uma vez, garante que a chamada remota foi executada no máximo uma única vez, eventualmente nenhuma vez, é possível o reenvio das requisições ao procedimento (no servidor), filtragem de requisições duplicadas e retransmissão do procedimento;
Não garantir absolutamente nada, a chamada remota pode ter sido realizada um número de vezes que varia de 0 a N vezes.
Para o caso em que o cliente sai do ar, temos os chamados processos órfãos, que devem ser evitados a todo custo. São estratégias como:
Extermínio, em que o