平成30年度春期 エンベデッドシステムスペシャリスト試験 午前II 問8
【問題8】
セマフォに関する記述のうち,適切なものはどれか。
V操作は,待ち状態のプロセスがあれば,そのプロセスを一つ実行可能状態へ移す。
あるセマフォに対してP操作を行うためには,それに先立ってV操作が実行されていなければならない。
同一のセマフォに対して,V操作を連続して実行することはできない。
一つのプログラム内では,同時に使用できるセマフォの数は一つだけである。
【解説】
ア: V操作は,待ち状態のプロセスがあれば,そのプロセスを一つ実行可能状態へ移す。
正しい。セマフォのV操作(増加操作)は,待ち状態のプロセスが存在する場合に,そのプロセスを実行可能状態に戻します。
イ: あるセマフォに対してP操作を行うためには,それに先立ってV操作が実行されていなければならない。
誤り。P操作(減少操作)はセマフォのカウンタが正の値であれば実行可能です。必ずしもV操作が先行している必要はありません。
ウ: 同一のセマフォに対して,V操作を連続して実行することはできない。
誤り。セマフォに対してV操作を連続して実行することは可能です。これによりセマフォのカウンタが増加します。
エ: 一つのプログラム内では,同時に使用できるセマフォの数は一つだけである。
誤り。プログラム内で複数のセマフォを同時に使用することが可能です。特に複数のリソースを管理する際に利用されます。
【答え】
ア: V操作は,待ち状態のプロセスがあれば,そのプロセスを一つ実行可能状態へ移す。
出典:平成30年度 春期 エンベデッドシステムスペシャリスト試験 午前II 問8