+0 カーネル起動時に表示され、タイマー割り込みとして、Local APIC(Advanced Programmable Interrupt Controller)のタイマ割り込みを選択したことを示す。
+1
+2 このタイマーは各プロセッサ内部APICに内蔵されるタイマーで、該当プロセッサに対してのみ割り込みを発生する。32ビットのカウンタを持つため、プログラムからカウンタの値をバスクロック信号の1, 2, 4, 8, 16, 32, 64, 128毎に対して1を減らすことしか設定できない。また、カウンタが0になった時点でプロセッサにタイマー割り込みを発生する。発生するタイマー割り込みの周期は1 minisecond内受信されるAPICバスのクロック信号数を基準に算出される。
+3
+4 Using local APIC timer interrupts.
+5
+6 Detected 12.501 MHz APIC timer.
-0 使用するタイマー割り込みの方法を示す。
-1
-2 タイマーリソースはユーザ空間からgettimeofdayシステムコールだけでなくカーネルのタイマ処理等、時間管理全てのリソースに使用される。
-3
-4 Linuxは起動時にRTC(Real Time Counter)から現在時刻を読み取り、起動後の時間は外部のタイマーリソースからの割り込みによって測る。
-5
-6 Linux 2.6では、以下のタイマーリソースに対応する:
-7
-8 1. PIT(Programmable Interval Timer)
-9
-10 プロセッサに内蔵されない外部タイマー回路である。クロック信号はチップ内部で発生するため、外部信号に依存しない。タイマー割り込み周期はプログラムで柔軟に変更可能。通常は8254チップが使用される。発生した割り込みは特定なプロセッサに配分されることはない。
-11
-12 2. Local APIC(Advanced Programmable Interrupt Controller) Timer
-13
-14 各プロセッサ内部APICに内蔵されるタイマーで、該当プロセッサに対して割り込みを発生する。32ビットのカウンタを持つため、PITより長い割り込み周期を発生できるが、プログラムからカウンタの値をバスクロック信号の1, 2, 4, 8, 16, 32, 64, 128毎に対して1を減らすことしか設定できない。
-15
-16 3. HPET(High Precision Event Timer)
-17
-18 HPETはIA-PCのために考案された新しいタイマーの仕組である。仕様上は従来のPIT, RTC(Real Time Clock)を使用しつつ、これらの代わりにもなりえる構成となり、プロセッサに内蔵されない外部タイマー回路で、仕様上最大256個のタイマーブロックを構成可能。設定は各タイマーブロックの(Memory-Mapped I/O)レジスタに対して行なう。各タイマーブロックはIDを持ち、メモリアドレス空間を1Kバイト消費する。
-19
-20 4. PM-Timer(ACPI Power Management Timer)[[BR]][[BR]]
-21
-22 ACPI対応のマザーボードであれば、このタイマーが提供される。固定周波数約3.58MHzのクロック信号を発生し、クロック周期毎にカウンタ値が1減らされる。I/Oポートに対してカウンタ値をアクセスできる。[[BR]][[BR]]
-23
-24 5. TSC(Time Stamp Counter)
-25
-26 プロセッサに内蔵された64ビットカウンタである。プロセッサの入力クロック単位でカウントアップする。RDTSCコマンドで現在のカウント値を取得する。
-27
-28 カーネル起動直後、RTCの時間が読み込まれ、上記のタイマーリソースが1つ選択される。RTCは現在の時間を計測する独立なタイマー回路である。タイマーチップの電源はバッテリによって提供されるため、システムの電源が落ちていても時刻の計測は続けられる。