システム割り込みとは?

トースター オーブンを実行するコンピュータなど、一部のコンピュータは一度に 1 つのタスクを実行しますが、デスクトップ PC、スマートフォン、およびメインフレームでは複数のプロセスが同時に動作します。コンピュータは、システム割り込みを通じてこれを管理します。これは、あるプログラムが一時的に他のプログラムよりも優先されるメカニズムです。中央処理装置は、所定のタスク階層に基づいて、さまざまな種類の割り込みを許可します。
複数のプログラム
最新の PC、スマートフォン、またはサーバーは、メモリ内に複数のプログラムを保持していますが、CPU は常に少数しか実行していません。ほとんどがアイドル状態です。プログラムには、ワード プロセッサ、スプレッドシート、電子メールなどのアプリケーション、メモリ モニタや印刷スプーラなどのユーティリティ機能、およびコンピュータのネットワーク カード、キーボード、スピーカーを管理するプログラムが含まれます。重要なプログラムがサービスを必要とする場合、CPU に割り込みを発行し、進行中の他の作業を停止して差し迫ったタスクを処理します。 CPU は、他のタスクより優先される場合にのみ割り込みを処理します。
ハードウェア割り込み
ハード ドライブ、ネットワーク カード、プリンター、およびその他のデバイスは、ハードウェア割り込みを発行して、CPU の注意を引きます。たとえば、プログラムがハード ドライブからデータを要求するとします。このタスクには約 10 ミリ秒かかりますが、その間に他の作業を実行する CPU にとっては長い時間です。ハード ドライブがデータを見つけると、ハードウェア割り込みを発行し、CPU に実行中の処理を一時的に停止して、要求元のプログラムにデータを配信するように指示します。
ソフトウェア割り込み
プログラムはソフトウェア割り込みを発行して、コンピューターのオペレーティング システムを介して特別な要求を処理します。たとえば、ワード プロセッサで、ページの見出しに日付を貼り付けたいとします。ワード プロセッサはソフトウェア割り込みを発行し、Microsoft Windows から日付を要求します。 Windows がシステム カレンダーから日付を取得する間、ワード プロセッサは短時間待機します。日付の準備ができると、Windows はワード プロセッサに制御を返します。ソフトウェア割り込みの優先度は比較的低いです。日付の取得中に CPU がハード ドライブから要求を取得した場合、CPU は最初にハード ドライブの割り込みを処理してから、日付の取得を終了します。
CPU トラップ
オペレーティング システムは、緊急事態のためにいくつかの非常に優先度の高い割り込みを予約しています。たとえば、プログラムのデータが破損してクラッシュすることがあります。オペレーティング システムは、プログラムを停止する CPU トラップを発行し、画面に警告メッセージを表示して、何が起こったかを知らせます。さらに極端なケースでは、オペレーティング システム自体が重大な問題を引き起こします。診断メッセージを表示し、すべての処理を停止する別の CPU トラップを発行します。