Os computadores possuem hardware temporizador, que gera interrupções periódicas conhecidas como tiques. Estes geralmente ocorrem 100 ou mais vezes por segundo. O temporizador pode fazer parte do RTC, mas mesmo os dispositivos sem um RTC possuem o hardware do temporizador. Tanto o hardware do cronômetro quanto o RTC têm uma tendência a se desviar do tempo real medido com um relógio atômico.
O NTP funciona com o relógio do sistema (baseado em software), que é atualizado a cada tique. O valor armazenado em /var/lib/ntp/ntp.drift
é usado para fazer pequenos ajustes na freqüência das interrupções do timer. Isso se refere a disciplinar o relógio. O NTP recalculará periodicamente o desvio e atualizará a frequência e o valor no arquivo ntp.drift
.
Normalmente, o relógio do sistema é definido a partir do RTC quando o sistema é inicializado. Isso ocorre antes que o daemon NTP seja iniciado. Dependendo dos sinalizadores definidos quando o daemon NTP é iniciado, ele poderá falhar se o tempo RTC tiver se desviado significativamente. Para evitar isso, era comum executar o comando ntpdate
para executar um ajuste inicial.
Durante um desligamento controlado, o RTC geralmente é configurado para a hora do sistema (local ou UTC). Isso ajuda a garantir que o tempo será relativamente preciso quando o sistema for reiniciado. Para que isso funcione, o RTC deve receber energia quando o sistema estiver inoperante. Os sistemas com um RTC possuem uma bateria que alimenta o RTC e, freqüentemente, alguma memória volátil que contém dados de configuração do sistema.