再入可能(リエントラント)プログラムの性質と動作要件

再入可能(リエントラント:reentrant)プログラムとは、複数のタスクから同時に並行して呼び出されて実行されても、各タスクが互いに干渉することなく正しい結果を得ることができるプログラムの性質です。これを実現するためには、プログラムの手続き部分(コード)を共有しつつ、タスクごとにローカル変数や作業領域を独立してスタック等に確保する構造にする必要があります。 主記憶上のどのアドレスに配置しても実行できる性質は「再配置可能(リロケータブル:relocatable)」の説明です。 手続の内部から自分自身を呼び出すことができる性質は「再帰的(リカーシブ:recursive)」の説明です。 プログラムを主記憶より小さな単位に分割し、必要に応じて補助記憶から読み込みながら実行する手法は「オーバレイ(overlay)」方式の説明です。

再入可能プログラムの特徴はどれか。

出典令和4年度 春期 応用情報技術者試験 午前 問6
ア
主記憶上のどこのアドレスに配置しても,実行することができる。
イ
手続の内部から自分自身を呼び出すことができる。
ウ
必要な部分を補助記憶装置から読み込みながら動作する。主記憶領域の大きさに制限があるときに,有効な手法である。
エ
複数のタスクからの呼出しに対して,並行して実行されても,それぞれのタスクに正しい結果を返す。