読み方 : わりこみハンドラ
割り込みハンドラ【interrupt handler】割り込みサービスルーチン
別名 :ISR/Interrupt Service Routine
概要

コンピュータのCPUやOSには、周辺機器から処理要求を受信するなど何らかの事象が発生した際に、実行中のプログラムを強制的に一時停止し、要求に対応する処理を行う「割り込み」(interrupt:インタラプト)と呼ばれる仕組みが存在する。
OSには、割り込みが発生したときにどのような処理を行うかを登録しておく「割り込みベクタテーブル」という仕組みがあり、割り込みの種類ごとに登録されるプログラムを割り込みハンドラという。OSは割り込みが発生したら、事前に登録されたハンドラを呼び出し、そのイベントに対応する処理を行わせる。割り込みハンドラによる処理が終わると、制御がOSに戻され、割り込まれたプログラムの実行が再開される。
割り込みハンドラは主にハードウェアとソフトウェアの間の橋渡しを行う。例えば、キーボードの打鍵、マウスのクリック、ネットワークからのデータ受信、センサーからの信号受信、タイマー回路のカウント完了などが起きたときに、それぞれに対応するハンドラが呼び出され、必要な処理を行う。
割り込みハンドラの設計では処理時間の短さが重要である。割り込み処理が長時間続くと他の割り込みへの応答が遅れる可能性があるため、多くの場合は最小限の処理だけを行い、詳細な処理は通常のタスクやスレッドに任せる設計が採られる。特に、組み込みシステムでは装置の制御が適時に行わなければハードウェアの損傷など深刻な結果を招くことがあるため、割り込みハンドラの実装も慎重を期す必要がある。