平成30年度 春期 午前 問18
ソフトウェア
セマフォを用いる目的
セマフォを用いる目的として,適切なものはどれか。
- ア共有資源を管理する。
- イスタックを容易に実現する。
- ウスラッシングの発生を回避する。
- エセグメンテーションを実現する。
答えと解説を見る
✓ これが正解ア共有資源を管理する。
解説
空き数を数えて共有資源の取り合いを調停する仕組みです。
設問は、セマフォを用いる目的を尋ねています。四つの記述は指している層がばらばらなので、タスクどうしの調停の話か、データの並べ方の話か、記憶管理の話かで仕分けると一つに定まります。セマフォは、いまいくつ空いているかを表す整数の変数と、それを減らす操作と増やす操作の組で成り立っています。使いたいタスクはまず値を減らして資源を取り、使い終わったら値を増やして返します。値が 0 のときは、誰かが返すまでそのタスクは待たされるので、同時に使えるタスクの数を制限できます。つまり目的は共有資源を管理することです。値を 0 と 1 だけに限れば、一つの資源を同時に一つのタスクにしか使わせない排他制御になります。返す操作を書き忘れると他のタスクが永久に待つことになるため、取る操作と返す操作は必ず対にします。
ほかの選択肢はなぜ違うのか
- イスタックを容易に実現する。:後入れ先出しのデータ構造を作るという話です。値を出し入れする順序を定める仕組みであって、複数のタスクが同じものを取り合うときの調停とは層が異なります。
- ウスラッシングの発生を回避する。:仮想記憶でページの入替えばかりが起きて処理が進まなくなる現象への対策です。多重度を下げたり主記憶を増やしたりして避けるもので、調停の仕組みが担う役目ではありません。
- エセグメンテーションを実現する。:主記憶を意味のあるまとまりごとに区切って管理する記憶管理方式のことです。記憶をどう割り付けるかという話であり、資源の取り合いを整理する目的とは別のものになります。
この問題の用語
- 排他制御同じデータを同時に更新しても、矛盾が起きないようにする仕組みです。先の処理が終わるまで、後の処理を待たせて防ぎます。
出典:平成30年度 春期 応用情報技術者試験 午前 問18
同じ用語が出る問題
- 令和7年度 秋期 午前 問16:排他制御に関する問題(排他制御)
- 平成30年度 秋期 午前 問30:排他制御に関する問題(排他制御)
- 平成29年度 春期 午前 問29:デッドロックに関する問題(排他制御)
- 平成26年度 秋期 午前 問16:デッドロックに関する問題(排他制御)
- 平成25年度 春期 午前 問31:排他制御に関する問題(排他制御)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)