UTC Time
UTC time is the system’s best estimate of Coordinated Universal Time.
Architecture covers the overall architecture of the time synchronization system including the roles and responsibilities of each component involved.
On boards with a Real Time Clock (RTC), the system initializes UTC time from the RTC shortly after power on. On all boards, the system periodically updates UTC from one or more network time sources once a network is available. In principle, these time sources could be configured separately for each product, but currently all products source UTC from google.com using HTTPSdate.
Algorithms covers the time synchronization algorithms implemented by the central component in the time synchronization system, Timekeeper.
UTC is distributed to components using a kernel clock object, with each process holding a handle to this clock object (providing the parent process supplied this clock). If you are developing components that use UTC, you should read UTC behavior to learn how to acquire UTC time and understand the behavior the UTC clock may exhibit both before and after time synchronization.
Previously the kernel maintained an additional internal UTC clock that could be
accessed through zx_clock_get
. This
clock is deprecated and should no longer be used.