再使用可能・再入可能などのプログラム特性
出典: 令和3年度 秋期 応用情報技術者試験 午前 問6 (IPA)
プログラム特性に関する記述のうち,適切なものはどれか。
- ア 再帰的プログラムは再入可能な特性をもち,呼び出されたプログラムの全てがデータを共用する。
- イ 再使用可能プログラムは実行の始めに変数を初期化する,又は変数を初期状態に戻した後にプログラムを終了する。
- ウ 再入可能プログラムは,データとコードの領域を明確に分離して,両方を各タスクで共用する。
- エ 再配置可能なプログラムは,実行の都度,主記憶装置上の定まった領域で実行される。
正解と解説を見る
正解: イ
- ア: 再帰的プログラムは呼び出しごとにデータを別に持つ必要があります。全ての呼び出しでデータを共用すると正しく動きません。
- イ: 実行の始めに変数を初期化する、又は終了時に初期状態に戻すのは再使用可能プログラムの特性なので正しい記述です。
- ウ: 再入可能プログラムは、コードは共用しますが、データはタスクごとに別に持ちます。両方を共用するわけではありません。
- エ: 再配置可能プログラムは、主記憶上のどこに置いても実行できるプログラムです。定まった領域で実行されるのではありません。
ポイント
- 再使用可能 (リユーザブル): 一度実行した後、読み込み直さずにもう一度実行できます。そのために、実行の始めに変数を初期化するか、終わるときに初期状態に戻します。
- 再入可能 (リエントラント): 複数のタスクから同時に呼ばれても正しく動きます。コードは共用し、データ (変数) はタスクごとに別に持ちます。
- 再帰的 (リカーシブ): 自分自身を呼び出せます。呼び出しごとにデータを別に持つ必要があります。
- 再配置可能 (リロケータブル): 主記憶のどこに置いても実行できます。