50 likes | 197 Views
二つの時間概念. ハードウェア時刻 RTC (Real Time Clock) コンピュータの電源が入っていないときでも、 バッテリーを用いて計測 システム時刻 Software Clock とも 起動時に RTC を参照して現在時刻を設定 以後は、タイマ割り込み時にインクリメント. tick (clock tick). 時分割処理の契機となるタイマ割り込み 時計の音「チクタク( tick-tack )」から 伝統的に 10ms とされる 環境や条件によって異なり、変更も可能 Linux kernel 2.6 では 1ms
E N D
二つの時間概念 • ハードウェア時刻 • RTC (Real Time Clock) • コンピュータの電源が入っていないときでも、バッテリーを用いて計測 • システム時刻 • Software Clockとも • 起動時にRTCを参照して現在時刻を設定以後は、タイマ割り込み時にインクリメント
tick (clock tick) • 時分割処理の契機となるタイマ割り込み • 時計の音「チクタク(tick-tack)」から • 伝統的に10msとされる • 環境や条件によって異なり、変更も可能 • Linux kernel 2.6では1ms • 1tickが10msから離れる毎に時計の精度が低下
adjtimex(8) • 時間に関係するカーネル変数を変更 • より正確なtickを刻むのに必要 • 1tick = 10.0msと 1tick = 9.96msでは? • 一日8640000tick * 0.04 ms = 345.6sec ≒ 6分
adjtime(2) • システム時刻を調整 • 時間は連続的でなければならない • 12:25:05だったのに12:24:38になってはいけない • 徐々にシステム時刻を調整 • システム時刻12:25:05、本来の時刻が12:24:051分経つ間に、本来の1秒毎に0.5秒しか変化させない
hwclock • ハードウェア時刻とシステム時刻の同期 • ハードウェア時刻からシステム時刻を設定 • システム時刻からハードウェア時刻を設定 • /etc/adjtime • ハードウェアクロックは正確ではないが「不正確さ」は予想の範疇 • 規則的な時間のずれを記載