[オペレーティングシステム - デッドロックデッドロック状態]何が起こっているのでしょうか?そして、予防法は、デッドロックを避けるために

ダイジェスト:この記事は、理由のオペレーティングシステムのデッドロックと予防と解決策の概要です。

1.デッドロックの定義

デッドロックが相互に通信、または他の閉塞現象による1、外部からの力の欠如、彼らはそれを促進することができません原因によるプロセス間のリソースの競合に、実装プロセス内の2つの以上のプロセスを指します。この時点で、システムがデッドロック状態やデッドロックと呼ばれる別のプロセスを待っているの過程で常にデッドロックを生成するためのシステムであると言います。
                                                                - ようにタング・ザイアオーダンと。「コンピュータのオペレーティングシステム」:電子科学技術プレス、2012.9の西安大学。

デッドロックのための2つの理由

デッドロックを生じる2.1システムリソースの競合、十分なシステムリソースが生じる競合システムリソース、およびリソースの不適切な配分、。
2.2順序を実行中のプロセスを促進することは、運転中に適切なプロセスではありません要求し、それがデッドロックにつながる、適切なリソースの解放を注文します。

3.デッドロックのために必要な条件を作り出します

相互に排他的な条件:リソースは時間をかけて資源国で唯一のプロセスであるプロセスで使用することができます。他のプロセスリソース要求する場合は、この時点では、要求プロセスは、待つことができます。
要求条件を維持するために:プロセスは、少なくとも1つのリソースのために維持されてきたが、新しいリソース要求を提案し、リソースが別のプロセスによって占有されているが、今回要求するプロセスがブロックされているが、彼らは利用可能なリソースは、ホールドを維持します。
不可分条件:終了前工程で得られた資源を使用しない場合は、強制的にのみ(のみアクティブ解除)を放出するための独自のリソースの方法によって得ることができる他のプロセスによって奪われることができません。
循環待ち条件:複数のプロセス間の関係は、リソースを待つためにループを形成するために、エンドツーエンド
これらの4つの条件をデッドロックのために必要な条件がある限り、システムのデッドロックとして、これらの条件の確立が避けられないが、上記のいずれかの条件が満たされない限り、それはしません、ですデッドロックが発生します。

4.デッドロック回避

システムが割り当てた後、デッドロックができれば、システムは、動的な検査を満たし、テスト結果に応じてリソースを割り当てるかどうかを決めることができるの問題を処理するために、各リソースアプリケーションシステムは、割り当ては、そうでない場合は保証システムである、割り当てられません動的なポリシーは、デッドロック状態を入力しないでください。オペレーティングシステムは、すべてのプロセスが、限られた時間のために必要なすべてのリソースを取得することを保証した場合、システムは安全な状態にあるか、システムが安全ではありません。

デッドロック検出およびリリース

デッドロック検出:この方法は、システムが不安のゾーンに入っているかどうかを確認する必要はありません、任意の制限措置の前に解釈されるべきではなく、この方法では、デッドロックが動作中のシステムで発生することができます。しかしながら、システムは、検出手段によって提供することができる、タイムリーデッドロック、デッドロックの発生を検出し、正確に関連するプロセスとリソースを決定します。この方法は、タイミング検出を検出することを含む、検出効率が低く、検出プロセスが待機しています。

デッドロックを持ち上げ:発生しているシステムでデッドロックから削除するための適切な措置をとること。これは、デッドロックのマッチングを検出するための尺度です。システムがデッドロックが発生したことを検出すると、プロセスがデッドロック状態を解除するものとします。一般的な実装は、取り消しまたはリソースの一部を回復するために、プロセス数を一時停止し、処理を実行し続けるために準備状態にそれを作る、状態をブロックされていると、これらのリソースを割り当てることです。検出と持ち上げ対策をデッドロック、システムは、より良いリソース使用率とスループットを取得する可能性が、また、最大値を達成することは困難でした。
そこデッドロックを解除するための具体的な方法があります:
5.1、資源枯渇法は
、特定のプロセスのデッドロックを中断し、そのリソースをつかむ、これらのリソースは、他のプロセスデッドロックに割り当てられます。しかし、このプロセスは長期のリソースの不足、および状態のリソースの不足を防ぐために中断しなければなりません。
5.2、法律の失効プロセス
必須部分の失効またはプロセスのデッドロックリソースのすべてと、これらのプロセスを奪います。原理は、プロセスの優先順位のレベルによって取り消すことができ、コストの取消しのプロセスになります。
5.3、プロセスのフォールバック方式
1つ以上のプロセスがデッドロックを回避するのに十分なポイントにフォールバックするように、自主的なリリース資源プロセスが代わりに奪われるのでロールバックされます。履歴情報のプロセスを維持するためのシステム要件は、復元ポイントを設定します。

関連インタビューの質問:
1。5プリンタシステムがある場合は、複数のプロセスがあるが、2を使用する必要が、それは______各プロセスは一つだけがデッドロック状態になった後に適用することが許可されていることを許可するように発生していないが必要ですプロセスが同時に競争に参加しますか?
答え:4、5つのプロセスが同時に競争に参加すると、各プロセスは、プロセス間のリクエストで、その結果、プリンタを占め、4つのプロセスが競争する場合、デッドロックが発生し、プリンタのリソースを、維持、少なくとも1つのプロセスが十分に得られますコンピュータリソースを再生し、デッドロックが発生することはありません。

おすすめ

転載: www.cnblogs.com/Lints/p/11801559.html