3

Я знаю, что аппаратные часы - это RTC, который работает до сих пор, даже когда ПК (или другое устройство с RTC) выключен. (в linux мы можем увидеть это время, набрав « hwclock »). Второе упомянутое время, системное время, - это время, когда оно действительно используется ОС в Linux. Я могу видеть это по comamnd " дата "

Но я до сих пор не знаю, как назначается системное время после запуска ПК. Есть ли какое-либо значение смещения, установленное в Linux, которое затем используется, и вычисление системного времени выполняется с использованием аппаратного времени и этого смещения?

Или это работает по-другому?

1 ответ1

2

Да, есть эти два часа. RTC (также называемый CMOS Clock/ Hardware Clock), как вы упомянули, и системные часы (также известные как Kernel Clock, Software Clock), значение которых сохраняется в конфигурации ОС. Эти системные часы основаны на прерываниях по таймеру.

И как очевидно, эти два могут иметь некоторое дробное смещение, из-за которого они будут отклоняться, и у ОС есть несколько стратегий, чтобы справиться с дрейфом таймера. Один из распространенных современных способов синхронизации обоих типов данных с использованием сервера времени, такого как time.windows.com, на основе протокола сетевого времени.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .