このエントリーをはてなブックマークに追加

システムの割り込み(遅延プロシージャ呼び出し、割り込みサービスルーチン)

対象プロダクト:Windows 8
カテゴリー:アーキテクチャ

システム割り込みとは

タスクマネージャの [詳細] タブ内を見たときに表示される事がある、「システムの割り込み(遅延プロシージャ呼び出しと割り込みサービス ルーチン)」は、ハードウェア(デバイスドライバ)が何らかの処理のために、システム処理に割り込む動作です。
まず、ハードウェアはソフトウェアよりも高い割り込み優先度(IRQL)を持っています。
IRQLは0~31までの32段階があり(64bit版 Windows は0~15の16段階)、数値が大きいものほど、優先度が高くなり、IRQLが最も高いものから先に処理されます。
ソフトウェアが2までなのに対して、ハードウェアは31までの優先度を持つことができます。
通常のスレッドのIRQLは0です。

つまり高い優先度のハードウェアの割り込みが発生すると、通常の優先度のプログラムの処理を押しのけて処理することになり、ハードウェアの割り込み処理が終わるまで、待たされる事になります。

※なお、IRQLはスレッドの優先度とは異なるものです。

遅延プロシージャ呼び出し (DPC)

DPCはIRQLが2であり、システムタスクのように即時性がないタスクを実行するための関数です。
まず、高い優先度の割り込みが発生した場合、他のそれよりも低い優先度の割り込みはDPCとして再スケジューリングされ、高い優先度のソースの処理が終了し、DPC/ディスパッチレベルよりも高いIRQLが割り当てられているソースがなくなったら、そこでDPC割り込みが処理されます。
そのため、DPCは遅延呼び出しと呼ばれます。
更にDPCの処理も完了すれば、ユーザーモードの通常のスレッドの実行が再開されます。

割り込みサービス ルーチン (ISR)

ISRルーチンはデバイスが割り込みを行うときに実行されます。
ISRルーチンを呼んだデバイスは、一時的にIRQLが引き上げられ、優先的に処理が実行されます。

公開日時: 2013年01月05日  23:06:06

このエントリーをはてなブックマークに追加
Windows 8 の「すべてを削除して Windows を再インストールする」機能を検証 | Windows 8 Pro のバックアップ DVD-ROM とパッケージ版 DVD-ROM の違い

Windows技術情報の一覧に戻る

「アーキテクチャ」に関する他の技術情報
技術情報のカテゴリ

このページのトップに戻る