Ich weiß, dass die Hardware-Uhr RTC ist, die immer noch läuft, auch wenn der PC (oder ein anderes Gerät mit RTC) ausgeschaltet ist. (Unter Linux können wir diese Zeit sehen, indem wir „hwuhr") Die zweite erwähnte Zeit, die Systemzeit, ist die Zeit, in der das Betriebssystem, also Linux, sie wirklich nutzt. Ich kann sie über den Befehl " sehen.Datum"
Ich weiß aber immer noch nicht, wie die Systemzeit nach dem PC-Start festgelegt wird. Ist in Linux ein Offsetwert festgelegt, der dann verwendet wird, und die Berechnung der Systemzeit erfolgt anhand der Hardwarezeit und dieses Offsets?
Oder funktioniert es anders?
Antwort1
Ja, es gibt diese beiden Uhren. Die RTC (auch bekannt als CMOS-Uhr/Hardware-Uhr), wie Sie sie erwähnt haben, und die Systemuhr (auch bekannt als Kernel-Uhr, Software-Uhr), deren Wert in der Betriebssystemkonfiguration gespeichert ist. Diese Systemuhr basiert auf Timer-Interrupts.
Und wie es offensichtlich ist, können diese beiden einen gewissen Bruchteilsversatz aufweisen, aufgrund dessen sie voneinander abweichen, und das Betriebssystem verfügt über mehrere Strategien, um mit der Timer-Drift umzugehen. Eine der gängigen modernen Möglichkeiten, beide synchron zu halten, ist die Verwendung einesZeitserverwie time.windows.com basierend auf derNetzwerkzeitprotokoll.
Antwort2
Hardware-Uhr vs. Systemuhr: Die Hardware-Uhr ist die batteriebetriebene „Echtzeituhr“ (auch bekannt als „RTC“, „CMOS-Uhr“), die die Zeit verfolgt, wenn das System ausgeschaltet ist, aber nicht verwendet wird, wenn das System läuft