Linux本4章

登楼した一定時間後に実行するハンドラを登録する仕
組み
時刻を正確に刻むため
一定時間後に指定した処理を行う
ため
ローカルタイマーが監視
時計の役割
タイマーリスト
一定間隔で周期的に発生する割り
込みを利用している
各CPUごとに表
タイマーリストの構造
CPUの表は、複数の副表に分割
グローバルタイマー割り込みハンドラ動作時に、前回
からの経過時間を確認し、まとめて進める
ある表を一巡するごとに、次の表からエントリを取り
出して再登録
グローバルタイマー割り込みの縮退
タイムスタンプカウンタなどの利用
システム全体に関わる処理
1970年1月1日0時からの経過時間
をxtime変数に記録している
Linux内部時計
グローバルな時計
システムの時刻を進めることが目
的
グローバルで時刻を更新
Linux本4章 - 時計
Linuxに無関係の世界で時刻を刻む
ハードウェアカレンダ
起動してからの時間
タイマー割り込みとハンドラの登
録は起動時に
Linuxの時刻
各CPUで独立に発生
jiffies
タイムスタンプカウンタ
3つの時計
CPUローカルな時計
(ハードウェア割り込み)
ユーザプロセスからはタイマーリストは直接利用でき
ない
ソフト割り込み要求やプロセスス
ケジューリングなど
指定した時間の経過をプロセスに知らせるための仕組
みとして、シグナルを利用
タイマーリストの実行など
インターバルタイマー
CPUローカルな時計
(ソフト割り込み)
シグナルハンドラ内に、時限処理を記述
絶対時間指定と実行時間指定(ユーザモードのみ、
ユーザカーネルモード両方)
各CPUで一斉に発生しないように
タイミングをずらしている
CPUローカルな時計は特定のCPU
に関わる処理を行う
負荷が高いときは遅延して、一回
に複数の割り込みを処理する
ハンドラ起動時刻までの残り時間で表を分類