概要 「詳解Linux Kernel」を参考にVersion 2.6.11のコードリーディングをしていく。CPUのアーキテクチャは書籍に沿ってIntelのx86とする。 今回は時間管理及びタイマ割り込みについて見ていく。 時間管理 カーネルが行う時間管理の主な機能は以下。 ユーザプロセスはtime()、ftime()、gettimeofday()の3つのAPIを使用し日時を取得する。カーネルも当該APIを用いてネットワークパケットにタイムスタンプを付与する。 カーネルはタイマを用いてカーネル若しくはユーザプロセスに特定の時間が経過したことを通知する。 クロック回路とタイマ回路 クロック回路は現在時刻の取得や正確な時間計測に使用する。タイマ回路は設定可能で予め設定しておいたタイミングで割り込みを発生させることができ、ソフトウェアタイマなどに使用される。 リアルタイムクロック(Real Tim