第1種情報処理技術者試験 1996年度 = 平成8年度 午前 問30

 再入可能(リエントラント)プログラムに関する記述のうち、正しいものはどれか。

ア 再入可能プログラムでは、変数をタスク単位に格納しなければならない。
イ 再入可能プログラムは、C言語では作成できない。
ウ 再入可能プログラムは、逐次使用可能プログラムから呼び出すことはできない。
エ 実行途中で待ち状態が発生するプログラムは、再入可能ではない。
オ 逐次再使用可能なプログラムは、再入可能プログラムとして使用できる。

解答



解説

 実行中であっても、他のタスクから呼び出すことのできるプログラムは、リエントラント(再入可能)であるといわれます。

 再入可能プログラムを実現するためには、プログラムを手続き部分とデータ部分に分割して、プロセスごとにデータ部分をスタックとしてもつ必要があります。

 自動記憶域期間をもつオブジェクト(変数)を利用すれば、再入可能なプログラムをC言語で作成することはできます。

 再入可能プログラムは、逐次使用可能プログラムから呼び出すことができます。

 待ち状態の発生と再入可能とは関係ありません。

 逐次再使用可能(シリアルユーザブル)なプログラムとは、逐次に再利用しても、正しい結果を返すことができます。再入可能であれば逐次再使用可能ですが、逐次再使用可能であれば再入可能とは限りません。


BohYoh.comトップページへ