Sincronização em sd
Nos sistemas distribuídos o processamento ocorre em diferentes unidades de processamento e, por isso, é necessário o uso de mecanismos de sincronização que possibilitem a comunicação entre os diferentes sistemas. A sincronização de um sistema distribuído envolve a sincronização de hardware e sincronização de software. Onde não há sincronização no SD entre as máquinas que o integram, surgem muitos problemas. Alguns processos podem ser executados de forma errada, causando erros e travamentos. No SD os problemas de sincronização exigem soluções mais específicas.
Em Sistemas Distribuídos não é possível obter as informações necessárias à sincronização de forma centralizada, caso isso ocorra, diversos problemas ainda podem permanecer. Para solucionar o problema de sincronismo nos sistemas distribuídos são usadas duas abordagens:
Relógios Lógicos
No uso de relógios lógicos para a sincronização somente os processos que interagem entre si precisam estar sincronizados. Nenhum dos processos obedece a um tempo absoluto, eles só precisam estar sincronizados quanto a ordem de acontecimento dos eventos.
“Todo o sincronismo é baseado na relação de “happens before” (acontece antes), onde:
1. Sejam x e y eventos num mesmo processo tal que x ocorre antes de y. Então x -» y é verdadeiro.
2. Seja x o evento de uma mensagem a ser enviada por um processo, e y o evento dessa mensagem ser recebida por outro processo. Então x -» y é verdadeiro.
3. Sejam x, y e z eventos tal que x -» y e y -» z. Então x -» z é verdadeiro.” ( Wikipédia)
Relógios Físicos
Na utilização de relógios físicos para sincronização todos os relógios do sistema são sincronizados para um mesmo padrão de tempo. Existem algoritmo que estão entre os mais populares para este tipo de solução.
São eles:
“• Algoritmo de Cristian – Usa método de