xntpd
Su sistema actualmente dispone de dos relojes - el alimentado por la batería reloj de tiempo real (real time clock) que mantiene la hora cuando el sistema está apagado (también conocido como el reloj de la CMOS (CMOS clock, Hardware clock o RTC) y la hora del núcleo (kernel time o también conocido como software clock o system clock) que está basado en interrupciones de tiempo y que es inicializado con el reloj del CMOS en el momento del arranque. Ambos relojes pueden diferir en el tiempo que marcan, de hecho gradualmente difieren uno de otro a medida que pasa el tiempo, y también difieren de la "hora real".
Todas las referencias al "reloj" (the clock) en la documentación
de xntpd
se refieren a la hora del núcleo. Cuando ejecute xntpd
o timed
(o cualquier otro programa que ajusta la llamada del sistema
de adjtimex), el núcleo de linux asume que la hora del núcleo es más
precisa que el reloj del CMOS, y ajusta el reloj del CMOS cada 11 minutos
(hasta que apague el sistema).
Esto significa que clock
no sabrá más cuándo el reloj del CMOS
fue ajustado por última vez, y no podrá utilizar el factor de corrección
en /etc/adjtime
. Puede usar ntpdate
en su archivo de
inicialización para poner en hora el reloj desde un servidor de tiempo en
red, antes de iniciar xntpd
. Si no dispone de una fuente de hora
fiable de forma continua cuando arranque la máquina, puede ser algo
complicado, ya que xntpd
realmente no ha sido diseñado para ser usado
en situaciones como esta.
xntpd
incluye controladores para muchos radio relojes, y puede ser
también puesto en hora llamando periódicamente al servicio telefónico NIST
(asegúrese de calcular el efecto en su cuenta telefónica cuando configure
el intervalo entre llamadas). Esto también sirve para obtener el factor de
corrección al reloj del núcleo si se pierde el contacto con las otras
fuentes de ajuste por un período largo de tiempo.
La mayoría de los radio-reloj cuestan $3-4K, pero puede hacer
planes para tener una "caja negra" (actualmente un módem de 300 baudios)
que esté ubicada entre su computador y una radio de onda corta sintonizada
en la estación de tiempo CHU de Canadá (vea
ftp://ftp.udel.edu/pub.ntp.gadget.tar.Z
).
El receptor Heatkit WWV (el "reloj más exacto") está aún disponible (aunque no como kit), y cuesta alrededor de $4-500. La señal de los GPS también contiene información de la hora, y algunos receptores de GPS pueden ser conectados a un puerto serie. Esto podría constituir una solución de bajo costo en un futuro cercano.
En teoría, cualquiera puede escribir un programa para usar los servicios
telefónicos de NIST, a fin de calcular la variación de tiempo entre el
reloj del CMOS y el del núcleo automáticamente. No tengo noticia de
ningún programa que haga esto por si sólo, pero la mayoría del código
podría obtenerse de xntpd
.