タグ付けされた質問 「mutual-exclusion」

3
ピーターソンとデッカーのアルゴリズムの対比
ピーターソンとデッカーのアルゴリズムは非常によく似ており、多くの対称性を示しています。 私は次のような非公式言語でアルゴリズムを定式化しようとしました: Peterson's: "I want to enter." flag[0]=true; "You can enter next." turn=1; "If you want to enter and while(flag[1]==true&&turn==1){ it's your turn I'll wait." } Else: Enter CS! // CS "I don't want to enter any more." flag[0]=false; Dekker's: "I want to enter." flag[0]=true; "If you want to enter …

1
テストと設定またはスワップなしのハードウェアロックの実装はありますか?
ロックは、通常、テストと設定およびスワップマシンレベルの命令によって実装されます。これらを使用しない他の実装はありますか? また、クリティカルセクションの問題に対するすべてのハードウェアレベルのソリューションは、割り込みの無効化、テストと設定、およびスワップの3つだけに分類できると言えますか?

3
なぜセマフォの代わりにモニターを使うのですか?
私は現在、私の大学の同時プログラミングコースに参加しており、最近モニターの概念について話し始めました。相互排除の必要性については理解していますが、なぜモニターを使うのか分かりません。 私が理解しているように、モニターは常に1つまたはまったくプロセスがクリティカルセクションにないことを保証します。セマフォでそれを実現できます。さらに、セマフォを使用してモニターを実装します(またはモニターを実装するための少なくとも1つの可能性があります)。 では、なぜセマフォを備えたセマフォとまったく同じことを実装するのでしょうか?どのようなメリットがありますか?

2
Petersonの2プロセス相互排除アルゴリズムは、死にかけているプロセスを説明しますか?
私は中にいると思いピーターソンのアルゴリズムのための相互排除プロセスが最初のクリティカルセクションを入力する場合は、クリティカルセクションに入るのを待って、永遠に死ぬこと、またはキャンセルされ、他のプロセスだろうループました。 この図では、プロセス1が停止した場合、プロセス1の背後にある残りのプロセスは、プロセス1の場所まで実行されますが、その後ループします。 クリティカルセクションに到達したプロセスが、終了する前に最初に停止した場合はどうなりますか?

1
教科書相互排除アルゴリズムの実際的な関連性は何ですか?
相互排除アルゴリズムについてはかなりの量の研究が行われています。たとえば、その多くは、マルチプロセッサプログラミングのような古典的な教科書で紹介されており、章全体がそれらに向けられています。 一般的な言語とOSが提供する同期プリミティブ(たとえば、pthreadライブラリによって提供される)を使用するのではなく、コンカレントシステムのエンジニアリング中にこれらのアルゴリズムが必要になる可能性がある実際の状況は何でしょうか。 標準のプリミティブが特別に調整されていないと思われる多くの特殊なケースを考えることができます。 -そのような状況での実践において、教科書の相互排除アルゴリズムのいずれかが大幅に改善されていますか? 簡単に言えば、どの相互排除アルゴリズムが、並行処理プリミティブの典型的な言語提供ライブラリをすでに自由に使えるエンジニアに実際に関連していますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.