平成28年度 春期 午前 問7
ソフトウェア
再入可能に関する問題
リアルタイムシステムにおいて,複数のタスクから同時に呼び出された場合に,並行して実行する必要がある共用ライブラリのプログラムに要求される性質はどれか。
- アリエントラント
- イリカーシブ
- ウリユーザブル
- エリロケータブル
答えと解説を見る
✓ これが正解アリエントラント
解説
同時に呼ばれても正しく動く、再入可能という性質です。
設問が念を押しているのは、複数のタスクから同時に呼び出されるという点と、並行して実行する必要があるという点の二つです。この二つをそのまま満たす性質がリエントラント、日本語でいう再入可能です。再入可能とは、ある呼出しの処理が終わらないうちに別のタスクから呼び出されても、どちらの側も正しい結果を得られる性質を指します。そのために必要なことは二つあります。一つは、命令の並びそのものを実行中に書き換えないこと。もう一つは、途中経過を置く作業用の領域を、呼び出したタスクごとに別に用意することです。作業用の領域を共有してしまうと、後から入った側が前の途中経過を壊してしまいます。共用ライブラリは、どのタスクからいつ呼ばれるか分からない立場にあるので、この性質が求められます。似た響きの語が並ぶときは、それぞれが何と何を区別する語なのかで引くと迷いません。置く場所を選ばないという話、続けてもう一度使えるという話、同時に使えるという話は、守っている範囲が別々です。
ほかの選択肢はなぜ違うのか
- イリカーシブ:自分自身を呼び出せるという性質を指す語です。呼ぶのが自分か別のタスクかという違いがあり、作業用の領域を共有していれば、同時の呼出しでは途中経過が壊れます。
- ウリユーザブル:一度使った後、読み込み直さずにもう一度使えるという性質を指す語です。前の実行が終わってから次という順番が前提なので、並行して走らせてよいとまでは言えません。
- エリロケータブル:主記憶のどこに置いても動くという性質を指す語です。配置する場所についての話であって、複数のタスクから一度に呼ばれる場面を支える性質ではありません。
出典:平成28年度 春期 応用情報技術者試験 午前 問7
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)