ウカマル応用情報技術者ログイン

令和4年度 秋期 応用情報技術者 問16

テクノロジ系

二つのタスクが共用する二つの資源を排他的に使用するとき,デッドロックが発生するおそれがある。このデッドロックの発生を防ぐ方法はどれか。

選択肢
正解と解説

正解 イ

二つのタスクが資源を同じ順序で獲得すれば、互いに相手の資源を待ち合う状態が起きず、デッドロックを防げます。

デッドロックは、タスクAが資源1を確保して資源2を待ち、タスクBが資源2を確保して資源1を待つように、互いに相手の解放を待ち続ける状態です。両方のタスクが「資源1、資源2」の順に獲得すると決めれば、資源1を先に確保できたタスクだけが資源2に進めます。もう一方のタスクは資源1の段階で待つので、循環した待ちが生じません。資源獲得の順序をそろえることは、デッドロックの発生条件の一つである循環待ちをなくす方法です。

ア:優先度は実行の順番を決めるだけです。資源を確保したまま相手を待つ状態は優先度に関係なく起こるので、デッドロックは防げません。

ウ:獲得の順序が逆だと、互いに相手が確保した資源を待つ循環待ちが起こります。これはデッドロックが発生する典型的な条件です。

エ:優先度を同じにしても資源の獲得順序は変わりません。循環待ちは残るので、デッドロックは防げません。

出典:令和4年度 秋期 応用情報技術者試験 問16

全年度から出題。10問で実力を判定します。登録不要。

出典:令和4年度 秋期 応用情報技術者試験 問16(独立行政法人情報処理推進機構)

解説と用語ページは生成 AI が書き、別の生成 AI が確かめています。作り方