第6章同期

  システム内の他の実装プロセスと対話できるプロセスをアシスト。共有データへの同時アクセスが一貫性のないデータになることがあります。

  複数のプロセスを同時にアクセスし、データを操作し、競争条件として知られているアクセスに関連した特定の順序と同じ結果を行います。競合状態を防ぐために、我々は唯一のプロセスがデータを操作できるようにする必要があります。これらの保証を行うためには、これらのプロセスは、同期させるための特定の方法が必要です。

6.1重要な領域

 

危険域

  各プロセスは、クリティカル領域(クリティカルセクション)と呼ばれるコードを有し、nはプロセス{P0、P1、...、PN-1}でシステムを考えます。公共エリアを実行する際のプロセスは、変数を変更することがあります。

  このシステムの重要な特徴は、プロセスがクリティカルセクションで実行した場合、他のプロセスは、そのクリティカルセクションで実行するために許可されていないということです。

  注:重要な領域は、パブリックプログラム領域ではなく、各プロセスは、独自の独立した重要なエリアがあります。

  重要なエリアに入る前に、コードセグメントを達成するためにプロセスごとに許可を求める必要があるエリアに入るための要求と呼ばれています。出口ゾーンの後に残った領域のクリティカルセクション、他のコードを有することができます。

        

 

   重要な地域の問題を解決するには、次の3つの要件を満たす必要があります。

  • ミューテックス(相互排除):工程Piが臨界領域に強制力のある場合、そう他のプロセスがその臨界領域で実行することができます。
  • そのクリティカルセクション、プロセスを実行するには進展がないとクリティカルセクションを入力する必要がある場合は、残りの領域を実行するだけでそれらのプロセスがクリティカルセクション次の時間を入力することができます誰が決定するために、参加することを選択しないかもしれませんが、この選択:進捗状況(進捗状況)それは無期限に延期することはできません。
  • 有限ウェイティング(有界待機):この要求は、これまでに許可されるまでのプロセスからクリティカルセクションに入るための要求を行う、他のプロセスの数は、そのクリティカルセクションが上限を持って入力することが可能。

  

おすすめ

転載: www.cnblogs.com/astonc/p/12152685.html