三つの資源X〜Zを占有して処理を行う四つのプロセスA〜Dがある。各プロセスは処理の進行に伴い、表中の数値の順に資源を占有し、実行終了時に三つの資源を一括して解放する。プロセスAと同時にもう一つプロセスを動かした場合に、デッドロックを起こす可能性があるプロセスはどれか。
資源の獲得順序が食い違う組合せで循環待ちが起きデッドロックする
| プロセス | 資源X | 資源Y | 資源Z |
|---|---|---|---|
| A | 1 | 2 | 3 |
| B | 1 | 2 | 3 |
| C | 2 | 3 | 1 |
| D | 3 | 2 | 1 |
選択肢
- アB, C, D
- イC, D
- ウCだけ
- エDだけ
正解と解説
正解:イ C, D
デッドロックは、複数のプロセスが資源を要求する順序が異なるときに、互いに相手の保持する資源を待ち合って発生する。プロセスAはX→Y→Zの順に占有するので、同じ順序のBとは待ち合いが起こらない。一方CはZ→X→Y、DはZ→Y→XとAとは逆向きの要素を含む順序なので、AとC、AとDの組合せではデッドロックが起こり得る。
選択肢ごとの解説
- アBはAと完全に同じ順序で資源を取るため、循環待ちが生じずデッドロックにならない。
- イ正しい。CとDはAと資源の取得順序が食い違うため、互いの資源を待ち合う可能性がある。
- ウDもz→y→xの順でAと順序が逆転する部分があるため、Cだけとするのは不十分である。
- エCも同様に順序が食い違うため、Dだけとするのは不十分である。
この問題は2回出題されています
- 2020年度 10月試験 午前 問17この問題の代表ページ
- 2024年度 春期 午前 問17(このページ)
同じ分野の他の問題
- 二つのタスクが共用する二つの資源を排他的に使用するとき、デッドロックが発生するおそれがある。このデッドロックの発生を防ぐ…2019年度 春期 午前 問18
- スレッドセーフの説明として、適切なものはどれか。2025年度 秋期 午前 問17
- 一つのI2Cバスに接続された二つのセンサーがある。それぞれのセンサー値を読み込む二つのタスクを排他的に制御したい。利用す…2025年度 秋期 午前 問16
- 五つのジョブA〜Eに対して、ジョブの多重度が1で、処理時間順方式のスケジューリングを適用した場合、ジョブBのターンアラウ…2025年度 秋期 午前 問15
- 記憶領域を管理するアルゴリズムのうち、ベストフィット方式の特徴として、適切なものはどれか。2025年度 秋期 午前 問5
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。