ソフトウェア開発技術者平成20年春期 午前問36

問36

再入可能(リエントラント)プログラムに関する記述のうち,適切なものはどれか。
  • 再入可能プログラムは,局所変数をタスク単位に格納しなければならない。
  • 再入可能プログラムは,逐次再使用可能プログラムから呼び出すことはできない。
  • 実行途中で待ち状態が発生するプログラムは,再入可能ではない。
  • 逐次再使用可能なプログラムは,再入可能プログラムでもある。
  • [出題歴]
  • 応用情報技術者 H22秋期 問8

分類

テクノロジ系 » ソフトウェア » オペレーティングシステム

正解

解説

再入可能(リエントラント)プログラムとは、複数のタスクから同時に呼び出されても、それぞれに正しい値を返すことができるプログラム構造のことを表します。

実行タスクごとに値の異なるデータ部分と、内容が共通である手続き部分にプログラムを分離し、データ部分をタスクごとに用意することで再入可能な構造を持つプログラムが実現できます。
  • 正しい。
  • 呼び出せない理由は見当たりません。
  • 実行途中で待ち状態が発生するかどうかは、再入可能プログラムの特徴と関係がありません。
  • 逐次再使用可能なプログラムとは、他のタスクが実行し終わったプログラムをメモリ上に再ロードしなくても、そのまま使用できる構造をもつプログラムです。具体的にはプログラムの内部で局所変数を初期化する処理が行われている必要があります。
    逐次再使用可能プログラムでは他のタスクが、終了したあとに再使用可能になるものであり、実行中はプログラムが終了するまで他のプログラムは待たされることになります。したがって再入可能ではありません。
© 2010-2024 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop