プロセスの同期(5-7)
同期とは、簡単にいうと「テンポ(歩調)を合わせる」ことです。
<<前提条件>>
複数のCPUによって複数のプロセスが同時に実行される。
(1つのCPUだと、1つのプロセスしか実行されません)
<<同期の必要性>>
1)クリティカル資源の相互排除
2つのプロセスがクリティカル資源を同時に使ってしまっては困るので、
1つのプロセスが使っている時は他のプロセスはアクセスできない(使わせない)
2)協力プロセスの実現
1つの大きな仕事を分担してやる
<<同期の方法>>
・ロックバイト(ビット)(5-1-A)
・セマフォア(5-1-B)
・POST-WAIT方式(5-1-C)
…「が、あるということだけ覚えておいて下さい」とのことです。
プロセス同期の方法
ロックバイト(ビット)(5-1-A)
ある資源を使用するときは、その資源に対応するロックバイトに対して、
● LOCK命令を実行する(ロックバイトはONになる)
● 使い終わったらUNLOCK命令を実行する(OFFになる)
(注)*ロックバイトがONのときは、アクセスを受け付けない。
*ロックバイトを読み出して、それをONにする過程では、TS命令(test and set)が使われる。
|