ピーターソン法の欠点

ピーターソンのアルゴリズムは臨界領域問題を解決するための古典的なアルゴリズムであるが、以下のようないくつかの欠点がある。

  1. ビジーウェイト:クリティカルセクションが別のプロセスによって使用されている場合、プロセスはクリティカルセクションが空くまでwhileループでポーリングする必要があります。このビジーウェイト手法は大量のCPU時間を消費し、システムのパフォーマンスの低下を引き起こす可能性があります。
  2. デッドロック:2つ以上のプロセスが排他的に共有リソースへ同時にアクセスしようとした場合に発生する可能性のある状態。この状態ではプロセスは実行を続けることができず、システムはハングアップ状態となる。
  3. 公平性問題:Peterson のアルゴリズムは公平性が保証されていない、つまり各プロセスが資源を要求した順番どおりにクリティカルセクションに入るとは限らない。そのため、一部のプロセスが長時間クリティカルセクションにアクセスできず、他のプロセスは頻繁にアクセスできることがある。
  4. ピーターソン法は、2 つのプロセス間でのクリティカルセクションへの排他アクセスにのみ適用され、複数のプロセス間での同期には適用されません。
  5. 前提条件に無理がある:Peterson アルゴリズムはいくつかのハードウェアやオペレーティングシステムの特性があると仮定しています。例えば、アトミック操作や強力なメモリモデルです。これらの前提条件は一部のシステムでは成り立たず、その結果、アルゴリズムが正しく動作しなくなる可能性があります。

ピーターソン算法は臨界領域問題の伝統的な解き方ですが、ビジーウェイティング、デッドロック、フェアネス問題、2プロセスにしか利用できない、前提条件が強すぎるなどの欠点もあります。

bannerAds