O Linux armazena tempo internamente, independentemente do seu relógio de hardware (também conhecido como RTC). Isso significa que seu sistema pode mostrar uma vez quando você executa date
(relógio do Linux) e uma hora diferente quando você executa hwclock
(relógio de hardware).
Normalmente, você quer carregar o tempo do hardware para o Linux quando a máquina inicializa (com hwclock -hctosys
), e quando a máquina fica inativa, você quer armazenar seu tempo bastante preciso (você usa ntpd
, não é?;)) - de volta ao relógio do hardware, com hwclock -systohc
.
Agora, o que acontece se o seu sistema morrer, reinicializar de forma anormal, etc? O relógio não é sincronizado com o hardware. Na próxima inicialização, você pode ter um grande relógio distorcido, porque o relógio do hardware não é tão preciso ... da próxima vez você dirá "Preciso do meu sistema para começar com ntpdate
antes de ntpd
, porque senão, ntpd
pode não sincronizar o tempo, porque o delta no relógio atual e o tempo real é muito grande ". O problema com essa abordagem é ... o que acontece se você sincronizar com uma máquina que por si só não está em sincronia, e então seu ntp
nunca terá a hora certa?
Portanto, para evitar tudo isso, é bom manter o tempo correto sincronizado com o hardware em todos os momentos. O que a opção do kernel que você está perguntando parece fazer é observar se o seu tempo está realmente sincronizado com o NTP (há uma maneira de saber disso ...) - e se for - sincronizar essa hora regularmente do tempo do Linux ( também conhecido como System Time), para o relógio de hardware, por isso será muito preciso em todos os momentos, incluindo falhas súbitas do sistema.