正答1
解説
正解は1です。
複数のタスクから同時に呼び出されても正しく動くプログラムの性質を問う問題です。
共用ライブラリを並行実行するには、呼出しごとに独立した作業領域を使う必要があります。
【選択肢別解説】
1:○ リエントラント(再入可能)なプログラムは、変数などのデータをタスクごとに分けて持ちます。
そのため、複数タスクから同時に呼ばれても互いに干渉せず並行実行できます。
2:× リカーシブ(再帰的)は、プログラムが実行中に自分自身を呼び出せる性質です。
複数タスクからの同時実行を保証する性質ではありません。
3:× リユーザブル(再使用可能)は、一度実行した後に再ロードせず再実行できる性質です。
同時に並行して実行できることまでは保証しません。
4:× リロケータブル(再配置可能)は、主記憶のどの番地にロードしても実行できる性質です。
並行実行とは関係がありません。
【ポイント】
リエントラントは、リユーザブルの性質に加えて並行実行も可能にしたものです。
リエントラントなプログラムは、データ部分を呼出しごとにスタックなどへ確保し、命令部分だけを共有します。