Silberschatz、Galvin、および Gagne によるオペレーティング システムの概念からオペレーティング システムを研究しています。
本の 229 ページで、 Petersons Solutionについて次のように述べています。
最新のコンピューター アーキテクチャがロードやストアなどの基本的な機械語命令を実行する方法のため、Peterson のソリューションがそのようなアーキテクチャで正しく機能するという保証はありません。
ウィキペディアでこれを調べたところ、説明に最も近いと思われるこれが見つかりました。
最近のほとんどの CPU は、実行効率を向上させるためにメモリ アクセスの順序を変更します。このようなプロセッサは、通常、メモリ バリア命令を介して、メモリ アクセスのストリーム内で順序付けを強制する何らかの方法を必ず提供します。メモリ アクセスの順序を変更するプロセッサでのピーターソンおよび関連アルゴリズムの実装では、通常、このような操作を使用して正しく動作し、連続した操作が誤った順序で行われないようにする必要があります。メモリ アクセスの並べ替えは、命令を並べ替えないプロセッサでも発生する可能性があることに注意してください。
これが何を意味するのか、あるいはこれが答えなのかを理解するのに苦労しています。
では、Peterson のソリューションが最新のアーキテクチャで動作することが保証されていないのはなぜですか?