OS 4-4モニタ


ディスプレイは細い麻布言語の欠点を解決する相互反発メカニズムである.
ディスプレイはオペレーティングシステムが単独で処理するのではなく,プログラミング言語の観点から遅延する方法である.
代表的なのはjavaサポートディスプレイです.
public class Health
{
  private int health = 100;
  
  synchrnized void increase(int amount)
  {
  health += amount;
  }
  synchronized void decrease(int amount)
  {
  health -= amount;
  }
}
Javaにsynchronizedキーワードが貼り付けられている場合、これらのキーワードの関数は複数のプロセスで同時に実行できません.つまり、完璧に排斥し合う.
プロセスAがインクリメント()関数を実行する場合
プロセスBは、インクリメント()関数を実行することも、同期付きインクリメント()関数を実行することもできない.
ディスプレイの実装が完璧であれば,プログラマーはwait()関数やsignal()関数を細い麻布のように臨界領域に囲む必要がなく,コードを容易かつ安全に記述することができる.