オペレーティング システム—デッドロック: 処理方法: 防止、回避、検出と回復、無視

  • デッドロックの問題の分析
    • 理由: プロセスがリソースを占有しており、別のプロセスが占有しているリソースを要求しています
    • 必要な条件: 相互排除、占有して待機、非プリエンプティブ、循環待機
    • リソースの申請と使用プロセス:申請、使用、リリース
    • リソース割り当て図:

  • 防止
    • 相互排除: 通常は変更できません
    • 占有して待機: プロセスが実行される前にすべてのリソースが準備されるか、次のリソースが適用されたときに前のリソースが解放されます。空腹の問題を引き起こす可能性があります
    • 非プリエンプティブ: プロセスがリソースを占有し、割り当てられない別のリソースを要求した場合、割り当てられたリソースをプリエンプトできます
    • 巡回待ち:資源申請順序を設定し、順次解放申請
  • 回避: システムが危険な状態にならないようにする
    • リソース割り当て図: 需要側の紹介
    • バンカーのアルゴリズム:

      • セキュリティアルゴリズム
      • リソース要求アルゴリズム
  • 検出: 呼び出しは、デッドロックが発生する頻度と、デッドロックが発生したときに影響を受けるプロセスの数によって異なります。
    • 待機グラフ
    • 銀行家のアルゴリズム
  • 回復: 犠牲者を選択し、飢餓を考慮に入れ、常に同じプロセスが犠牲者になることを避ける

おすすめ

転載: blog.csdn.net/qq_56061892/article/details/126224109