戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

エンベデッドシステムスペシャリスト 2012年 午前2 問06


問題文

セマフォの基本操作であるP操作、V操作に関する記述のうち、適切なものはどれか。

選択肢

ア:P操作とV操作は交互に行わなければならない。
イ:P操作は資源のロック、V操作は資源のアンロックを実現するのに使用できる。(正解)
ウ:P操作は事象の発生通知、V操作は事象の待合せに用いられる。
エ:P操作はセマフォ変数の値を増加させ、V操作は減少させる。

🔒 解説は解答すると表示されます

セマフォのP操作とV操作【午前2解説】

正解の理由

セマフォは、複数の処理が共有する資源の利用を調整する仕組みです。
P操作はセマフォの値を減らして資源を確保し、資源が利用できない場合は処理を待たせます。V操作はセマフォの値を増やして資源を解放し、待っている処理があれば起床させます。
このため、P操作で資源をロックし、V操作でアンロックする使い方ができます。したがって、適切なのはイです。

解法ステップ

  1. P操作は、資源を使えるか確認して確保する操作だと押さえます。
  2. V操作は、資源を解放して利用可能にする操作だと押さえます。
  3. 各選択肢が、この役割と一致しているかを確認します。

選択肢別の誤答解説

  • ア:誤りです。 P操作とV操作を必ず交互に行う必要はありません。複数の処理がP操作で待つこともあり、資源の解放に応じてV操作が行われます。
  • イ:正しいです。 P操作で資源を確保してロックし、V操作で資源を解放してアンロックできます。
  • ウ:誤りです。 事象の発生を待つのはP操作、事象の発生を通知するのはV操作です。選択肢では役割が逆になっています。
  • エ:誤りです。 P操作はセマフォの値を減らし、V操作は値を増やします。選択肢では増減が逆になっています。

よくある誤解

  • P操作とV操作は必ずペアで交互に実行すると思い込むことがあります。複数の処理が同じセマフォを利用するため、操作が交互になるとは限りません。
  • P操作は通知、V操作は待合せと取り違えることがあります。P操作が待ち、V操作が通知すると覚えましょう。
  • P操作は値を増やすと誤認することがあります。Pは減少、Vは増加です。

補足コラム

セマフォの値は、利用可能な資源の数を表すために使われます。たとえば、利用可能な資源が3個なら、セマフォの初期値を3に設定できます。P操作によって利用可能な数を減らし、V操作によって返却された資源の数を増やします。
資源が1個の場合は、セマフォをロックのように利用できます。この場合、P操作で資源を確保し、処理が終わったらV操作で解放します。

FAQ

Q. P操作を実行したとき、セマフォの値が0ならどうなりますか?
A. 資源を確保できないため、通常は処理が待ち状態になります。V操作で資源が利用可能になると、待っている処理が再開できる場合があります。
Q. V操作は、必ず直前にP操作を行った処理が実行するものですか?
A. 必ずしもそうではありません。V操作はセマフォの値を増やして資源を解放する操作であり、実際に誰が実行するかはプログラムの設計によります。

関連キーワード: セマフォ、P操作、V操作、排他制御、資源管理
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?

クイズ画面へ遷移する→

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について