デッドロックデッドロックを回避するための処理戦略

1.プロセスのデッドロック

ここに画像を挿入説明

2.安全配列、不安、接触デッドロック

ここに画像を挿入説明

いわゆる安全シーケンスは、システムがこの順序に従ってリソースを割り当てることであれば、各プロセスが正常に完了することができるということです。限り安全なシーケンスを見つけるように、システムは安全な状態です。もちろん、複数のセキュリティ・シーケンスがあるかもしれません。

、リソースの割り当て後に、セキュリティシステムは、任意の配列を見つけることができない場合、システムが不安定の状態になります。すべてのプロセスが正常に実行手段の後に行くことができない可能性があります。そこに先に返却処理のいくつかのリソースをしていること、および場合もちろん、システムは安全な状態に復帰する可能性もあるが、私たちは資源を配分する前に、必ず考慮に最悪のシナリオを取ります。

システムは安全な状態にある場合、それがデッドロックしません。システムは、不安の状態に入った場合、デッドロックが発生する可能性があり(危険な状態でデッドロックが発生し、必ずしもではないが、デッドロックが発生した場合、安全でない状態でなければなりません)

したがって、資源の配分の前分布は、リソース割り当て要求に同意するかどうかを決定するために、システムが不安定の状態に入らせるかどうかは、裁判官を事前にすることができます。これは「ある銀行家のアルゴリズム、」コアアイデア。

3.まとめ

データ構造の
長さmの一次元アレイAvilable利用できるどのように多くのリソースを示す
n×mの行列Maxはプロセスの最大数を各リソース要件を表す
n×mの行列Alocationは、それが各プロセスリソースに番号を割り当てた前記
最大- Alocation =必要各工程まで表す行列必要なリソースの量
長さmの一次元アレイ要求することによって、そのリソースの様々な数のアプリケーションのプロセス

バンカーアルゴリズムは、手順:
①アプリケーションがステートメントの前に要件の最大数を超えているかどうかのチェック
②システムが要求満たすことができるかどうか、この時点で残りの利用可能なリソースを確認し
、③暫定的に割り当てを各データ構造変更
アルゴリズムのセキュリティと④チェックこれは、不安の状態に配電系統につながるかどうか

セキュリティアルゴリズムは、ステップ:
あなたは安全配列に対して、保持のプロセスに加盟のプロセスを置くことができるならば、利用可能なリソースの経常黒字は、リソースの完全な回復のプロセスのための最大のニーズを満たすかどうかをチェックします。
上記のプロセスを繰り返し、最終的にはすべてのプロセスはセキュリティ上のシーケンスに追加されていることを確認し参照してください。

公開された168元の記事 ウォンの賞賛1 ビュー2967

おすすめ

転載: blog.csdn.net/yrx420909/article/details/104460290