Un ordinateur personnel possède une horloge matérielle sauvegardée par une pile. La pile permet à l'horloge de fonctionner même si le reste de l'ordinateur est privé d'électricité. L'horloge matérielle peut être configurée à partir de l'écran de configuration du BIOS ou à partir de n'importe quel système d'exploitation en cours d'utilisation. Le noyau Linux conserve le temps indépendamment de l'horloge matérielle. Au moment du démarrage, Linux configure sa propre horloge au temps indiqué par l'horloge matérielle. Après cela, les deux horloges fonctionnent de façon indépendante. Linux gère sa propre horloge car consulter le matériel est lent et compliqué.
L'horloge du noyau donne toujours l'heure universelle. Ainsi, le noyau n'a pas du tout besoin de se soucier des zones horaires - la simplicité donne une fiabilité accrue et facilite la mise à jour des informations des zones horaires. Chaque processus gère lui-même les conversions de zones (en utilisant les outils standards qui font partie du paquetage des zones horaires). L'horloge matérielle peut être en heure locale ou universelle. Habituellement, il est préférable de l'avoir en heure universelle car, ainsi, on n'a pas besoin de la changer lorsque les changements horaires arrivent (l'UTC n'a pas de changement horaire). Malheureusement, certains systèmes d'exploitation des PCs - dont MS-DOS, Windows et OS/2 - supposent que l'horloge matérielle donne l'heure locale. Linux peut s'en satisfaire, mais si l'horloge matérielle donne l'heure locale, alors elle doit être modifiée à chaque changement d'heure (sinon, elle ne donnera plus l'heure locale).