text: 割り込みはオペレーティングシステムの要であり、オペレーティングシステムが周囲の環境と相互作用し反応するための効率的手段となっている。非常に小さなスタック（50バイトや60バイト）しか持たない古いシステムでは、オペレーティングシステムが対応しなければならないイベントの発生源を「監視」するポーリング方式を採用していたが、現代の大きなスタックを持つシステムでは一般的ではない。現代の多くのCPUは、割り込みをベースとしたプログラミングを直接サポートしている。割り込みが発生すると、その時点のレジスタコンテキストを退避し、そのイベントに対応した特定のコードを実行する。非常に基本的なコンピュータにもハードウェア割り込み機能があり、プログラマは特定の割り込みが発生したときに実行すべきコードを設定することができる。割り込みを受信すると、コンピュータのハードウェアは実行中のプログラムを自動的に一時停止させ、状態を退避させ、その割り込みに事前に割り当てられているコードを実行する。これは例えば読書中に電話が鳴ったとき、本にしおりを挟み、電話に出るのに似ている。現代的なオペレーティングシステムでは、割り込みはオペレーティングシステムのカーネルが扱う。割り込みはコンピュータのハードウェアが発生させる場合もあるし、実行中のプログラムが発生させる場合もある。ハードウェアから割り込みが発生した場合、オペレーティングシステムのカーネルがそのイベントにどう対応するかを一般に何らかの処理コードを実行して決定する。割り込みには優先順位があり、それに従って実行するコードが決定される。再び人間にたとえれば、電話が鳴ると同時に火災を知らせる火災報知器の非常ベルも鳴ったら、電話には出ずに避難するだろう。ハードウェア割り込みの処理は通常、デバイスドライバと呼ばれるソフトウェアに委任される。デバイスドライバはオペレーティングシステムのカーネルの一部という場合もあるし、別のプログラムという場合もあるし、混在する場合もある。デバイスドライバは割り込みによって得た情報を各種手段を通じて動作中のプログラムに中継する。実行中のプログラムがオペレーティングシステムに対して割り込みを発生させる場合もある。