0

ダイクストラの銀行家のアルゴリズムにおける安全/安全でない状態に関する簡単なクエリ...

システムのスナップショット内のプロセスの 1 つ (たとえば、以下のプロセス) のすべてのニーズがすでに満たされており、他のプロセスのニーズを満たすのに十分なリソースがない場合、システムは安全な状態ですか? ? 通常、プロセスが必要なリソースを受け取るとすぐに終了し、すべてのリソースを返すと想定していますが、システムの状態を計算するときにこの仮定は考慮されていますか?

  Allocated        Maximum     Available

    | A | B         | A | B      A | B
 ---+---+---     ---+---+---    ---+---
 P1 | 1 | 2      P1 | 1 | 2      1 | 3
 P2 | 5 | 3      P2 | 7 | 8    

編集

私の質問をもう少し明確にするために、上記の例のシステムは安全な状態ですか、それとも危険な状態ですか? P2 からの要求は、P1 がリソースを返すまで延期され、その時点で P2 の要求は満たされ、システムは安全であると仮定しますか?それとも、現在可能な要求のいずれも満たすことができないため、システムは安全ではないと仮定しますか?

4

1 に答える 1

1

プロセス1を実行できるため、システムは安全な状態にあります。終了すると、プロセス2が終了するのに十分なリソースAとリソースBのコピーがあります。したがって、システムがプロセスを完了まで実行できる「スケジュール」が存在します。これは安全であることを意味します。

于 2010-05-18T00:24:12.333 に答える