セマフォの基本操作であるP操作、V操作に関する記述のうち、適切なものはどれか。
ア | P操作とV操作は交互に行わなければならない。 |
イ | P操作は資源のロック、V操作は資源のアンロックを実現するのに使用する。 |
ウ | P操作は事象の発生通知、V操作は事象の待合わせに用いられる。 |
エ | P操作はセマフォ変数の値を増加させ、V操作は減少させる。 |
答え イ
【解説】
セマフォを使用するときは共通領域にセマフォ変数を確保し、資源を同時に使用できる最大数を設定します。(排他制御なら1になります。)
共有資源を使いたいタスクは、セマフォ変数の値を1減らすP操作行います。
この時、セマフォ変数が0でなければ減算が行われ、資源を利用することが可能になります。
セマフォ変数の値が0のときは、資源が他のタスクに使われているので、待ち状態になります。(場合によってはエラーにすることなどもある。)
資源を使い終わったタスクはセマフォ変数の値を1増加させるV操作を行います。
【キーワード】
・セマフォ