すべてのプロセスが、資源にあらかじめ付けた番号の小さい順にしか資源を要求しないようにすると、デッドロックを防止できる。これはデッドロックの必要条件のうち、どれを成り立たなくする方法か。
選択肢をタップすると、その場で答え合わせできます
正解と解説を見る
正解 C循環待ち
解説
正解は「循環待ち」です。番号の小さい順にしか資源を要求しないと、待っている資源の番号は常に保持している資源の番号より大きくなります。もし待ちの関係が環になると、番号が増え続けて元に戻る必要があり矛盾するため、循環待ちは起こりません。データベースの排他制御でも、ロックを掛ける順序を統一する方法として使われます。「相互排除」を崩すには、資源を共有可能にする必要があります。「保持と待機」を崩すには、必要な資源を最初に一括して確保する方法などを用います。「横取り不可能」を崩すには、待たされたプロセスの資源を強制的に解放させる方法などを用います。
- #デッドロック
- #防止
この調子でOS・ネットワーク・データベースを続けて解く
▶ この科目の連続演習へ進む(10問)