割り込み (IRQ)
ハードウェア(またはソフトウェア)がCPUの作業に割り込み、対応が必要な出来事を知らせる信号。キー入力、ネットワークパケット、タイマ、DMA転送の完了などが該当する。CPUが各デバイスに何度も尋ねる「ポーリング」の代替手段だ。
仕組み:デバイスがサービスを必要とすると、割り込み信号(IRQ、Interrupt ReQuest)を送る。CPUは現在の作業を中断して状態を保存し、出来事を処理する「割り込みハンドラ」(ISR、Interrupt Service Routine)を実行して、終われば中断した作業を再開する。利点:CPUが「何か用はないか」と繰り返し尋ねて時間を浪費せず、デバイスは出来事の起きたその時に非同期で知らせられる。用途:キーボード、マウス、ネットワーク、ディスク、タイマ、DMA完了通知など、ほぼすべてのI/O。補足:割り込みには優先度があり、一時的にマスク(遮断)できる。また、大量のネットワークパケットのように割り込みが多発するとCPUが過負荷になるため、「割り込みコアレッシング」(まとめて処理)や、極端な場合のポーリングモード(NAPI)といった手法がある。ハードウェアとOSのやり取りの最も基本的な仕組みの一つ。DMAエンジンおよび割り込みと関連する。