カコモンノート

問17応用情報技術者 令和6年度 春期

17 / 80問
令和6年度 春期2024年

三つの資源X ~ Zを占有して処理を行う四つのプロセスA ~ Dがある。各プロセスは処理の進行に伴い,表中の数値の順に資源を占有し,実行終了時に三つの資源を一括して解放する。プロセスAと同時にもう一つプロセスを動かした場合に,デッドロックを起こす可能性があるプロセスはどれか。

この問題の図
問題に添えられた図。出典は下に書いています。

選択肢をえらぶと、答えと解説が出ます

選択肢をえらぶと、
ここに答えと解説が出ます
正答 2

解説

正解は2。表の数値は資源を占有する順番で、Aは X→Y→Z。デッドロックは、二つのプロセスが互いに相手の持つ資源を待つ状態で、資源を取る順番が逆の組があると起こり得る。
C は Z→X→Y。Aが X を、Cが Z を先に取ると、Aは Y の次に Z を待ち、Cは X を待って互いに進めなくなる。
D は Z→Y→X。Aが X を、Dが Z を取ったあと、Aが Y を取れば Dは Y を、Aは Z を待ち合う。
B は A と同じ X→Y→Z なので、先に X を取った方が最後まで進めてデッドロックにならない。よってCとDで2が正しい。

  • 1は、Aと同じ順で資源を取るBを含めている。
  • 3は、Cだけを挙げていて、Aと逆順で資源を取るDが抜けている。
  • 4は、Dだけを挙げていて、同じくデッドロックの起こり得るCが抜けている。

根拠:問題の表とデッドロックの発生条件(循環待ち)

KEY POINT
資源を取る順番がプロセス間で逆になる組があるとデッドロックが起こり得る。全プロセスで順番をそろえれば防げる。
出典:令和6年度 春期 応用情報技術者試験 午前 問17(独立行政法人 情報処理推進機構(IPA))
独立行政法人情報処理推進機構(IPA)が公表している過去問題です。IPA の「過去問題の使用について」に基づき、IPA が指定する形で出典を明記して掲載しています(利用の許諾申請は不要)。問題文・選択肢の内容は変えていません。元の問題冊子から文字を起こす都合で、改行・字間の空白は省き、英数字の全角・半角は元とそろえていない箇所があります。図表は IPA が公表した問題冊子のものです。解説は当サイトが独自に作成したもので、IPA とは関係ありません。