
から引用https://wiki.archlinux.org/title/System_time:
ほとんどのオペレーティングシステムの標準動作は次のとおりです。
- 起動時にハードウェアクロックに基づいてシステムクロックを設定します。
- システムクロックの時刻を正確に保つには、#時刻の同期をご覧ください。
- シャットダウン時にシステムクロックに基づいてハードウェアクロックを設定します。
シャットダウン中にシステムクロックでハードウェアクロックを設定する最後のステップは誰が担当しますか?
答え1
責任は「運営体制」にあります。具体的な実装はさまざまです。
考慮すべき2つの状況があります。
システムの唯一の時間ソースがRTCの場合、時間がすでに設定されていない限り更新する必要はありません。 Linuxでは通常、次のように処理します。
hwclock
またはtimedatectl
。システムにネットワーク経由の外部タイムソースがある場合は、RTCを更新する必要があります。 Linuxでは通常シャットダウン時に使用
hwclock
されますが、カーネル(3.7以降)は次のことができます。10分ごとに自動的にRTCを更新外部ソースを使用してシステム時間を維持し、RTCが正しく設定されている場合。
Linuxでは、カーネルは時刻同期サービスが消去または設定され、時刻が同期されたことを報告することが期待されます。STA_UNSYNC
adjtimex
システムコールステータスビットの使用。カーネル自体が時間を決定する場合は、このビットを設定できます。いいえ同期されますが、それ自体は削除されません。