ソフトウェア
セマフォ(Semaphore)における P 操作(wait)と V 操作(signal)の説明として正しいものはどれか。
ア.P操作とV操作は同時に実行でき、競合状態を意図的に引き起こす操作である。
イ.P操作はプロセスを強制終了し、V操作は新しいプロセスを生成する。
ウ.P操作はセマフォ値を1増やし、V操作はセマフォ値を1減らす。
エ.P操作はセマフォ値を1減らし(0未満なら待機)、V操作はセマフォ値を1増やす(待機中プロセスを起こす)。正解
解説
セマフォは「入れる人数を管理する回転扉」。P操作で1人入れ(カウンター-1)、V操作で1人出て行く(カウンター+1)。カウンターが0なら入れない(待機)。
なぜ エ が正解か
セマフォは共有資源の同時アクセス数を制御する仕組みです。 P操作(wait/acquire): ・セマフォ値を1減らす ・値が0未満になる場合はそのプロセスをブロック(待機キューへ) V操作(signal/release): ・セマフォ値を1増やす ・待機中のプロセスがあれば1つを起こす(レディキューへ移す) バイナリセマフォ(値=0/1)はミューテックスと同等の動作をします。カウンティングセマフォは複数資源の管理に使います。
出典: AI生成問題(学習用)