従来のPeterson-2 アルゴリズムの競合のない複雑さは 4 です (共有レジスタ メモリに対して 4 つの読み取り/書き込み操作を実行するため)。共有レジスタ メモリへのアクセスが少なくて済む Peterson-2 アルゴリズムのバージョンはありますか 当然、1回のアクセスは無理ですが、2回や3回のアクセスはどうでしょうか。ありがとうございました
1 に答える
2
クリティカル セクションごとに少なくとも 3 つの操作が必要です: エントリでの書き込みと読み取り (ミューテックスの取得を宣言し、他のプロセスが取得していないことを確認するため)、出口での書き込み (ミューテックスを解放するため)。id
開始時に、Peterson のアルゴリズムのプロセスは、シングルライター レジスターinterested[id]
とマルチライター レジスターを書き込みますturn
。制限付きレジスタを制限なしのバージョン番号も保持するレジスタに変えるという代償を払って、2 つのプロセスに対して、書き込みごとに 1 回の書き込みと読み取りごとに 1 回の読み取りを行う 2 つのシングルライター レジスタによるマルチライター レジスタのシミュレーションがあります。ピーターソンのアルゴリズムでの 2 つの書き込みの合併。
于 2011-11-27T20:00:00.747 に答える