There are two time sources in a computer. A computer's motherboard has a hardware clock, called the “CMOS clock”. This clock is not very precise, and provides rather slow access times. The operating system kernel has its own, the software clock, which it keeps up to date with its own means (possibly with the help of time servers, see <xref linkend="sect.time-synchronization" />). This system clock is generally more accurate, especially since it doesn't need access to hardware variables. However, since it only exists in live memory, it is zeroed out every time the machine is booted, contrary to the CMOS clock, which has a battery and therefore “survives” rebooting or halting of the machine. The system clock is, thus, set from the CMOS clock during boot, and the CMOS clock is updated on shutdown (to take into account possible changes or corrections if it has been improperly adjusted).
هناك مصدرين للوقت في الحاسوب. تحوي اللوحة الأم في الحاسوب ساعة عتادية، تدعى ”ساعة CMOS“. هذه الساعة غير دقيقة تماماً، وقراءة قيمتها بطيئة نوعاً ما. تحوي نواة النظام ساعة برمجية خاصة بها، التي تحافظ النواة على قيمتها الصحيحة بأساليب خاصة (قد تستعين بمخدمات زمنية مثلاً، انظر <xref linkend="sect.time-synchronization" />). ساعة النظام هذه أدق عموماً، خاصةً أنها لا تحتاج الولوج إلى متغيرات عتادية. لكن بما أنها تعيش فقط في الذاكرة الحية، فهي تصفر كلما أقلع الجهاز، بعكس ساعة CMOS، التي تزود ببطارية وبالتالي ”تنجو“ من عمليات إعادة الإقلاع أو إيقاف تشغيل الجهاز. بالتالي، تأخذ ساعة النظام قيمتها من ساعة CMOS أثناء الإقلاع، وتُحدَّث قيمة ساعة CMOS عند إيقاف التشغيل (لتسجيل أي تغييرات أو تصحيحات إذا كانت قيمتها السابقة غير مضبوطة بشكل صحيح).