[0238] 再入可能プログラム

平成12年度春期 (旧)第2情報処理技術者試験より
再入可能プログラムの特徴として、適切なものはどれか。
実行時に必要な手続きを補助記憶装置から呼び出しながら動作する。実行時の主記憶領域の大きさに制限があるときに、有効な手法である。
手続きの内部から自分自身を呼び出すことができる。
複数のタスクで利用するとき、一時に一つのタスクでの使用が可能である。
複数のタスクによって並行して実行されても、それぞれのタスクに正しい結果を返す。

正解

解説

 再入可能プログラムに関する問題です。

 まず、再入可能(リエントラント)プログラムについて説明します。

■ 再入可能(reentrant;リエントラント)

 あるプログラムが呼び出したプログラムを、他のプログラムがさらに呼び出しを行っても、同時に実行できるプログラムを、再入可能(リエントラント)プログラムといいます。同時実行を可能にするためには、呼び出される度に、それぞれ専用の変数を確保する必要があります。




 再入可能プログラムは、デバイスドライバなどのシステムモジュールに多く採用されます。マルチプログラミング環境では、いろいろなプログラムが同時に実行されており、システムモジュールの処理が完了する前に次々と呼び出されることが多くあるためです。再入可能でなければ呼び出し元のプログラムを待機させることになり、結果としてシステム全体のパフォーマンスが落ちてしまいます。

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

 実行時に必要な手続きを補助記憶装置から呼び出しながら動作する。実行時の主記憶領域の大きさに制限があるときに、有効な手法である。
オーバーレイの説明です。

 手続きの内部から自分自身を呼び出すことができる。
再帰的(リカーシブ)プログラムの説明です。

 複数のタスクで利用するとき、一時に一つのタスクでの使用が可能である。
逐次再使用可能(シリアルリユーザブル)プログラムの説明です。

 複数のタスクによって並行して実行されても、それぞれのタスクに正しい結果を返す。
再入可能(リエントラント)プログラムの説明です。


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

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