平成24年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問6
テクノロジ/ソフトウェアセマフォの基本操作であるP操作,V操作に関する記述のうち,適切なものはどれか。
出典:平成24年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問6
- アP操作とV操作は交互に行わなければならない。
- イP操作は資源のロック,V操作は資源のアンロックを実現するのに使用できる。
- ウP操作は事象の発生通知,V操作は事象の待合せに用いられる。
- エP操作はセマフォ変数の値を増加させ,V操作は減少させる。
正解:イ
解説
セマフォは,共有資源へのアクセスを排他的に制御するための仕組みです。P操作(wait操作)は資源を確保(ロック)する際に用い,資源が使用中であればタスクを待ち状態にします。V操作(signal操作)は資源を解放(アンロック)する際に用い,待ち状態のタスクがあればそれを実行可能状態に遷移させます。P操作とV操作は必ずしも1対1で交互に呼び出す必要はなく,資源の獲得・解放のタイミングに応じて使用されます。
選択肢ごとの解説
- ア誤り。P操作とV操作は,資源の確保と解放のタイミングでそれぞれ呼び出されるものであり,必ず交互に行わなければならないという制約はありません。
- イ正しい。P操作は資源のロック(獲得),V操作は資源のアンロック(解放)を実現するために使用できます。
- ウ誤り。事象の発生通知と待合せに用いるという説明は,イベントフラグなど別の同期機構の説明に近く,セマフォのP操作・V操作の基本的な役割の説明ではありません。
- エ誤り。セマフォ変数の増減については,一般にP操作で減少(資源を1つ確保),V操作で増加(資源を1つ解放)させるものであり,本記述はP操作とV操作の増減が逆になっています。