質問

Dijkstraの安全/安全でない状態に関する簡単なクエリ 銀行家のアルゴリズム...

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

  Allocated        Maximum     Available

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

編集

私の質問をもう少し明確にするために:上記の例のシステムは安全な状態ですか、それとも安全でない状態ですか? P1がリソースを返すまでP2からのリクエストが遅れていると仮定しますか?その時点でP2のリクエストが満たされるため、システムは安全であるか、現在、可能な要求が満たされないため、システムは安全ではありませんか?

役に立ちましたか?

解決

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top