Linux/時計
提供: Wikinote
Linux でどのように時計が動いているのか。
2 つの時計
- ハードウェアクロック (リアルタイムクロック; RTC)
- マザーボードに実装されたチップで、電源がオフでも進み続ける。精度はそれほどよくない。
- ソフトウェアクロック (システムクロック)
- カーネルが管理している、タイマ割り込みによって進められる時計 (カウンタ)。もちろん電源オフ時は消滅する。調節すれば、かなりの高精度になる。
- 電源オフ時、RTC のみが時間を刻んでいる。
- 起動時に OS が RTC の時刻を読み取り、以後タイマ割り込みでシステムクロックを刻む。
- NTP 等を利用していて時刻が正確だとわかると、11 分ごとにシステムクロックを RTC に書き戻す。
- シャットダウン時にシステムクロックを RTC に書き戻す。
- 1. に戻る
関連用語
- jiffies 変数
- タイマ割り込みの回数を記録する。jiffies_64 の下位 32 ビットが jiffies。グローバルタイマ割り込みハンドラ do_timer() にてインクリメントされる。
- HZ マクロ
- 1 秒間に発生するタイマ割り込みの回数。RHEL では 1000、SLES では 250
- xtime 変数
- 1970/01/01 からの経過時間。グローバルタイマ割り込みハンドラ do_timer() にて進められる。