[0233] 割込み

平成12年度秋期 (旧)第2情報処理技術者試験より
プログラム割込みの原因となり得るものはどれか。
入出力動作が終了した。
ハードウェアが故障した。
プログラムで演算結果があふれた(オーバフローした)。
プログラムの実行時間が設定時間を超過した。

正解

解説

 割込みに関する問題です。

 割込みとは、現在実行中のプログラムを一時中断させて、より緊急性の高い他のプログラムを実行させるための機構です。割込んだプログラムが終了すると、中断されていたプログラムは再開されます。

 割込みの利用例としてはマルチプログラミングがあります。マルチプログラミングは、実行中のプログラムが入出力処理などで CPU に空き時間ができると、他のプログラムに CPU の使用権を渡すことで、複数のプログラムを並列に実行するものです。

 プログラムが SVC(Supervisor Call;スーパーバイザコール)と呼ばれる割り込みを使用して、OS に「入出力をする」と伝えると、OS のタスク管理機構で入出力処理を開始し、その間、他のプログラムに CPU の使用権を渡しします。入出力処理が完了すると、入出力処理機構から入出力割込みでそれを知らせます。



 割込みの種類には、大きく分けて外部割込み内部割込みがあります。これは、実行しているプログラムとの関係による分類で、外部割込みであればプログラムとは直接関係のない機構からの割込み、内部割込みであればプログラム内で発生する割込みを指します。

 外部、内部割込みにはいろいろな種類があります。ここでは、いくつか代表的なものを紹介します。




 これらの割込みには優先順位が決められており、割込み処理中に他の割込みが発生した場合、優先度の高いものから処理されていきます。

 それでは選択肢をみていきましょう。


 入出力動作が終了した。
入出力割込みの説明です。

 ハードウェアが故障した。
機械チェック割込みの説明です。

 プログラムで演算結果があふれた(オーバフローした)。
プログラム割込みの説明です。

 プログラムの実行時間が設定時間を超過した。
タイマー割込みの説明です。


 よって、ウが正解となります。
※ 解説の内容は執筆時点のものであり,含まれている情報の正確性,妥当性について保証するものではありません。ご注意ください・・・

関連する(かもしれない)問題