Exercícios Sistemas Distribuídos - Sincronização
1. No que consiste a sincronização em Sistemas Distribuídos? Exemplifique.
Consiste em identificar e ordenar, através do tempo, uma sequencia de eventos que ocorrem entre os componentes de um sistema distribuído.
Ex: Transferência de áudio/vídeo. Os pacotes de áudio/vídeo enviados pela rede devem chegar ao destinatário na ordem correta para que não haja inconsistência de dados.
2. Como funciona o NTP?
Através do NTP, as maquinas atualizam seus relógios enviando mensagens para um servidor com receptor WWV, perguntando a hora corrente. Esse servidor responde e as maquinas ficam sincronizadas com ele.
3. Como funciona o algoritmo de Berkeley?
O algoritmo Berkeley consulta todas as máquinas de tempos em tempos, obtendo o horário de cada máquina. Depois esse algoritmo gera uma média de todas as horas e envia o horário resultante para todas as maquinas para que elas sincronizem seus relógios.
4. Diferencie um relógio físico de um relógio lógico.
O relógio físico está relacionado com a medição real do tempo. Já o relógio lógico está relacionado à ordenação de eventos, independente da hora real.
5. Como funcionam os relógios lógicos de Lamport?
Um processo pode receber uma mensagem de outro processo, se o tempo de envio da mensagem for menor que o tempo de recebimento. Quando o tempo de envio é maior, o processo receptor corrige seu relógio ajustando o tempo para que ele fique igual ao tempo da mensagem mais um. Assim, os eventos estarão sempre ordenados.
6. Como funciona o algoritmo centralizado de exclusão mútua?
Um processo é eleito como coordenador e é ele que organiza o acesso aos recursos do sistema por outros processos. Sempre que um processo quiser acessar determinado recurso, é necessário pedir permissão de acesso ao coordenador, através de uma mensagem. O coordenador permite acesso ao recurso através de uma mensagem de concessão, desde que nenhum outro processo esteja acessando o recurso neste momento.