¿Cómo funciona el horario de verano en una computadora?

0

Me preguntaba si el chip de tiempo de la computadora actualizaba la hora, incluso cuando la computadora estaba apagada (por ejemplo, el BIOS o el SO envían un comando que indica que cuando alcanza un cierto tiempo retrocede / avanza 3600 segundos), o si ¿La actualización de BIOS / OS la primera vez que inicia la computadora después de que el DST ha estado vigente?

kat
fuente

Respuestas:

5

El chip de reloj en tiempo real MC146818, tal como se utiliza en IBM PC / AT, de hecho tenía la capacidad de realizar cambios de horario de verano por sí solo. Solo funcionó correctamente en los Estados Unidos e incluso entonces solo funcionó correctamente durante solo tres años hasta que se modificó la ley, y la regla DST que estaba incorporada en el circuito del chip ya no coincidía con la regla real DST. Esta capacidad para actualizar DST en hardware no se ha utilizado en décadas.

Si su sistema operativo es un sistema operativo Think de DOS, entonces sí, el sistema operativo aplica los cambios de horario de verano al reloj en tiempo real y, por lo tanto, solo cuando la máquina está totalmente encendida y reiniciada en el sistema operativo. Sin embargo, se sabe que este sistema está seriamente y fundamentalmente roto durante casi todo el tiempo. Se ha discutido a fondo en foros de discusión en línea desde la década de 1980.

Unices y sistemas operativos similares a UNIX ejecutan el hardware RTC en UTC y nunca aplican alguna DST lo cambia. De hecho, ni siquiera hay ningún conocimiento de DST en el kernel del sistema operativo. El kernel y el hardware operan en UTC todo el tiempo y un función de biblioteca del sistema aplica una conversión de UTC a la hora estándar local / horario de verano basado en el TZ variable de entorno y una extensa base de datos de zona horaria en disco. No hay un cambio entre el horario estándar y el horario de verano. La función de conversión simplemente produce el desplazamiento de la hora local correcta de acuerdo con el tiempo que se está convirtiendo.

Sí, los BSD y Linux pueden ejecutarse en la forma de Think de DOS, con el reloj de hardware funcionando en otra cosa que no sea UTC. Esta no es una idea particularmente buena, y hay muchos mecanismos frágiles adicionales que vienen con ella. Por ejemplo, los administradores de sistemas tales como systemd hay que asegurarse de que han dicho al kernel sobre la hora local antes fsck corre, porque de lo contrario las personas en zonas horarias que están por delante de UTC experimentan un comportamiento extraño debido a que el reloj del sistema retrocede durante el inicio del sistema.

Otras lecturas

JdeBP
fuente
1

La placa base tiene una batería y un reloj que mantendrán un registro del tiempo incluso cuando la computadora esté apagada, sin embargo, es el sistema operativo el que determina cuándo ajustar el reloj hacia adelante / atrás según la configuración. No se ajusta hasta que el sistema operativo se ejecuta en el momento en que se supone que se debe cambiar, o después del primer arranque.

Nick Gulino
fuente
Hay NIST también no? Sincronización a través del reloj de internet (como ejemplo).
Carl B
Correcto en un sentido. Puede usar el Protocolo de tiempo de red (NTP), que, en efecto, sincroniza el reloj de su computadora interna con el Tiempo universal coordinado (UTC). Sin embargo, esto sigue siendo una función del sistema operativo, y solo ajusta el reloj a UTC (GMT en los días anteriores). El sistema operativo todavía tiene que convertir eso a su zona horaria actual (por ejemplo, vivo cerca de Melbourne, Australia, por lo que es GMT +10) y le aplica el horario de verano si corresponde.
Nick Gulino