O algoritmo utilizado para sincronização do tempo em sistemas distribuídos é denominado algoritmo
- A)Round Robin.
Round Robin é algoritmo de escalonamento de CPU, não de sincronização de relógios em sistemas distribuídos.
- B)de Berkeley.
Correta: o algoritmo de Berkeley é o clássico usado para sincronização de tempo entre máquinas em um sistema distribuído.
- C)de Massachusetts.
Massachusetts não é um algoritmo reconhecido de sincronização de tempo em sistemas distribuídos, então a alternativa não corresponde ao tema.
- D)Dijkstra.
Dijkstra é conhecido por algoritmos de grafos e exclusão mútua em contextos teóricos, mas não pelo ajuste de relógios em redes distribuídas.
- E)bizantino.
Bizantino remete ao problema dos generais bizantinos e tolerância a falhas, não ao algoritmo clássico de sincronização de tempo.
Gabarito: B
Em sistemas distribuídos, sincronizar relógios é essencial para ordenar eventos, registrar logs e evitar aquela bagunça em que cada máquina acha que vive em um horário diferente. Como não existe um relógio perfeito e único em toda a rede, usa-se um algoritmo de ajuste de tempo para aproximar os relógios dos nós a um valor coerente. O nome clássico cobrado em prova para essa finalidade é o algoritmo de Berkeley. Ele foi proposto para ambientes em que não se podia depender de uma fonte externa confiável de tempo, então um nó coordenador coleta os horários dos demais, calcula uma média e distribui correções para que todos fiquem sincronizados entre si. Por isso o gabarito é a alternativa B. A ideia central do Berkeley não é buscar o “horário absoluto correto” no mundo, mas manter os relógios do sistema alinhados entre si, o que já resolve grande parte dos problemas práticos de coordenação em sistemas distribuídos. Em concursos, vale guardar a associação: Berkeley = sincronização interna entre máquinas. Se a banca falar em sincronização de tempo em sistema distribuído, esse é o nome que costuma aparecer como resposta padrão.