2017-12-05 7 views
-2

を処理し、それらはすべて自分のリソースを放棄することができ、一緒ので、 p1は完了できますか?銀行アルゴリズムを単独でそれのリソースをあきらめるなどP2、P3、P4、</p> <p>を銀行家のアルゴリズムを使用して

それはできないことですか?

+2

ようこそStackOverflow。ヘルプドキュメントの投稿ガイドラインを読み、それに従ってください。 [on topic](http://stackoverflow.com/help/on-topic)および[How to Ask](http://stackoverflow.com/help/how-to-ask)をここで適用してください。 もちろん、プロセスがリソースを放棄することも可能です。問題は、プロセス間でどのようなコミュニケーションを可能にしているのか、そしてどこに問題があるのか​​です。プロセスのアルゴリズム記述を投稿しなかったので、動作していないコードはもちろんのこと、私たちが助けることはあまりありません。*まだ*。 – Prune

+0

@Pruneコードはありません、それは質問です、多分あなたは私の質問を誤解しましたか? – bhigg890

+2

その後、明確にしてください。私は、問題が不明確である点をいくつか説明した。 – Prune

答えて

0

抽象的なプロセスや、特にBankerのアルゴリズムの機能について質問していますか?

抽象的なプロセスの場合は、はい、簡単に可能です。シグナルyield_allを作成し、各プロセスがそのシグナルを受信したときにリソースを解放するようにコーディングします。マスタープロセスによっては、P2、P3、P4のそれぞれに信号を送信してから、P1の割り当てを続行する必要があります。実装の詳細は設計者の責任で行ってください。


バンカーのアルゴリズムについて質問している場合は、必要なものが完全にはわかりません。システムがまだsafe stateに属していない限り、割り当ては行われません。各プロセスは、残りのシステムの可用性を保ちながら、何らかの順序で終了する(したがってすべてのリソースを返す)ことができます。

このように、あなたが説明した状況では、他のプロセスにリソースを提供させることは有効な操作ではありません。むしろ、P1は、要求されたリソースを割り当てることが許可される前に、他が正常に終了するまで待機しなければならない。これが不可能な場合、システムはunsafe stateにあります.1つ以上の事前の要求は許可されていてはなりません。

あなたの質問にお答えしますか?

関連する問題