割り込み
割り込みとは、現在のプロセスを中断するためにプロセッサへ送られる信号です。ハードウェアデバイスまたはソフトウェアプログラムによって生成されます。
ハードウェア割り込みは、入力デバイスであるマウスやキーボードなどによって生成されることがよくあります。たとえば、ワープロを使用していてキーを押すと、プログラムは入力をすぐに処理する必要があります。「hello」と入力すると5つの割り込み要求が生成され、プログラムは入力した文字を表示できます。同様に、マウスボタンをクリックしたり、タッチスクリーンをタップしたりするたびに、デバイスへ割り込み信号が送られます。
ソフトウェア割り込みは、プログラムの実行中に発生するエラーや例外を処理するために使用されます。たとえば、プログラムが変数に有効な数値が入っていると想定しているのに、その値がnullの場合、プログラムがクラッシュしないように割り込みが生成されることがあります。これにより、プログラムは処理を続ける前に進路を変更してエラーを処理できます。同様に、割り込みを使用して無限ループを中断することもできます。無限ループはメモリリークを発生させたり、プログラムを応答しない状態にしたりする可能性があります。
ハードウェア割り込みとソフトウェア割り込みはどちらも、割り込みハンドラー割り込みサービスルーチン、または(ISRとも呼ばれます)によって処理されます。プログラムが割り込み要求を受け取ると、ISRがイベントを処理し、プログラムが再開します。割り込みはキー入力やマウスクリックと同じくらい短いことが多いため、通常は1ミリ秒未満で処理されます。
知識をテストする