問題
セマフォを用いた排他制御において、二つのプロセス P1、P2 が共有資源を使う際に使用するP操作(wait)とV操作(signal)に関する記述として正しいものはどれか。
選択肢
- 1P操作はセマフォ値をインクリメントし、V操作はデクリメントする。
- 2P操作でセマフォ値が0以下になるとプロセスは待ち状態となり、V操作で他の待ちプロセスを起こす。
- 3セマフォ値は常に0か1のみであり、複数同時アクセスは制御できない。
- 4P操作とV操作は非アトミック(割込み可)であるため、二重ロックが発生しやすい。
正解
2. P操作でセマフォ値が0以下になるとプロセスは待ち状態となり、V操作で他の待ちプロセスを起こす。
詳しい解説を見る解説を閉じる
解説
P操作(wait)はセマフォを1減らし、0未満なら待ち状態。V操作(signal)はセマフォを1増やし、待ちプロセスがあれば起こす。P操作がインクリメント・V操作がデクリメントという記述は意味が逆。セマフォ値が常に0か1のみというのは2値セマフォ(バイナリセマフォ)の説明で、計数セマフォなら複数同時アクセスを制御可能。また、P操作とV操作は割込みされないアトミック実行が前提であり、非アトミックという記述も誤りである。
一問一答
全400問を繰り返し学習