Relationship between hardware clock and system clock
I know that hardware clock is RTC, which is running still, even when PC (or another device with RTC) is off. (in linux we can see this time by typing "hwclock") The second mentioned time, system time, is the time it is really used by OS, by linux. I can see it by comamnd "date"
Но я до сих пор не знаю, как назначается системное время после запуска ПК. Есть ли какое-либо значение смещения, установленное в Linux, которое затем используется, и вычисление системного времени выполняется с использованием аппаратного времени и этого смещения?
Или это работает по-другому?
2 ответа
Да, есть эти два часа. RTC (также называемый CMOS Clock/ Hardware Clock), как вы упомянули, и системные часы (также известные как Kernel Clock, Software Clock), значение которых сохраняется в конфигурации ОС. Эти системные часы основаны на прерываниях по таймеру.
И как очевидно, эти два могут иметь некоторое дробное смещение, из-за которого они будут отклоняться, и у ОС есть несколько стратегий, чтобы справиться с дрейфом таймера. Один из распространенных современных способов синхронизировать оба сервера с использованием сервера времени, такого как time.windows.com, на основе протокола сетевого времени.
Аппаратные часы и системные часы: Аппаратные часы — это «часы реального времени» с батарейным питанием (также известные как «RTC», «CMOS-часы»), которые отслеживают время, когда система выключена, но не используются, когда система выключена. бег