Gli orologi hardware e software

I personal computer hanno un orologio hardware a batteria, che assicura che l'orologio funzioni anche se il resto del computer resta senza elettricità. L'orologio hardware può essere impostato dalla schermata di impostazione del BIOS o da qualsiasi sistema operativo stia girando.

Il kernel di Linux tiene traccia del tempo in maniera indipendente dall'orologio hardware. Durante il boot, Linux imposta il suo orologio allo stesso tempo di quello hardware; poi entrambi gli orologi girano indipendentemente. Linux mantiene un suo orologio perché guardare a quello hardware è lento e complicato.

L'orologio del kernel mostra sempre l'ora universale: in questo modo il kernel non ha bisogno di sapere niente dei fusi orari e la semplicità permette un'affidabilità più alta e rende più semplice aggiornare le informazioni sul fuso. Ciascun processo gestisce le conversioni sui fusi da solo (usando degli strumenti standard che fanno parte del pacchetto sui fusi orari).

L'orologio hardware può essere impostato sia sull'ora locale che su quella universale. Di solito è meglio averlo in ora universale, perché in questo modo non dovete modificare l'orologio hardware quando inizia o finisce l'ora legale (l'UTC non ha l'ora legale). Sfortunatamente qualche sistema operativo per PC, inclusi MS-DOS, Windows ed OS/2, assume che l'orologio hardware sia impostato sull'ora locale e quindi va modificato quando inizia e finisce il periodo di ora legale (altrimenti non mostrerebbe l'ora locale).