Quando alcuni programmi relativi al tempo (come ntpd
) sono in esecuzione su un sistema Linux, il kernel passerà alla cosiddetta "modalità undici minuti" (vedere la hwclock
pagina man) per cui aggiornerà automaticamente l'orologio hardware dall'orologio di sistema ogni undici minuti .
Su SLES11 ho empiricamente stabilito che se impostassi l'orologio hardware in modo che fosse qualcosa come 10 ore dietro l'orologio di sistema, la modalità 11 minuti sembra incapace di far corrispondere l'orologio hardware all'orologio di sistema. Ma se imposto l'orologio hardware 5 minuti dietro l'orologio di sistema, la modalità 11 minuti fa una corrispondenza perfetta.
Quindi a quanto pare c'è un aggiornamento massimo che la modalità di 11 minuti può gestire e mi chiedo di cosa si tratta.
Aggiornare:
Questo è strano ...
Altre sperimentazioni mostrano che quando ho l'orologio HW circa 20 minuti dietro l'orologio di sistema, la modalità di 11 minuti imposterà l'orologio HW in modo che sia esattamente 30 minuti dietro l'orologio di sistema (!):
# date
Tue Dec 6 10:16:52 EST 2011
# hwclock --set --date "12/6/11 09:56"
#
# date
Tue Dec 6 10:17:16 EST 2011
# hwclock --show
Tue Dec 6 09:56:06 2011 -0.156551 seconds
#
# date
Tue Dec 6 10:23:09 EST 2011
# hwclock --show
Tue Dec 6 10:01:58 2011 -0.535772 seconds
#
# date
Tue Dec 6 10:34:28 EST 2011
# hwclock --show
Tue Dec 6 10:04:27 2011 -0.192025 seconds
Aggiornare:
Mi sono imbattuto in questo: https://bugs.archlinux.org/task/27408, il che implica che nel bene e nel male il kernel non aggiornerà l'orologio hardware quando l'ora dell'orologio hardware è troppo lontana dall'ora dell'orologio di sistema.