系统时间何时与硬件时钟同步?

系统时间何时与硬件时钟同步?

引用自https://wiki.archlinux.org/title/System_time:

大多数操作系统的标准行为是:

  • 在启动时根据硬件时钟设置系统时钟。
  • 保持系统时钟时间准确,参见#时间同步。
  • 关机时根据系统时钟设置硬件时钟。

谁负责在关机时从系统时钟设置硬件时钟的最后一步?

答案1

责任是“操作系统”的。具体实施方式各不相同。

有两种情况需要考虑:

  1. 如果系统唯一的时间源是 RTC,则无需更新它,除非时间已设置。在 Linux 上,这通常由以下方法处理hwclock,或由timedatectl

  2. 如果系统有外部时间源(通过网络),则应更新 RTC。在 Linux 上,这通常在关闭时处理(使用hwclock),但内核(自 3.7 起)可以每十分钟自动更新一次 RTC如果使用外部源维护系统时间并且 RTC 已正确配置。

在 Linux 上,内核期望时间同步服务报告时间是否同步;这是通过清除或设置来完成的STA_UNSYNC使用adjtimex系统调用的状态位。如果内核本身确定了该时间,则可以设置该位不是已同步,但它永远不会自行清除它。

相关内容