二つの時間概念 • ハードウェア時刻 – 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:05 1分経つ間に、本来の1秒毎に0.5秒しか変化させない hwclock • ハードウェア時刻とシステム時刻の同期 – ハードウェア時刻からシステム時刻を設定 – システム時刻からハードウェア時刻を設定 • /etc/adjtime – ハードウェアクロックは正確ではないが 「不正確さ」は予想の範疇 – 規則的な時間のずれを記載
© Copyright 2024 ExpyDoc