平成31年度 春期 午前Ⅱ 問8
オペレーティングシステム
セマフォに関する問題
セマフォの基本操作であるP操作,V操作に関する記述のうち,適切なものはどれか。ここで,セマフォ変数は事象の数を表すものとし,初期値は1とする。
- アP操作とV操作は交互に行わなければならない。
- イP操作は資源のロック,V操作は資源のアンロックを実現するのに使用できる。
- ウP操作は事象の発生通知,V操作は事象の待合せに用いられる。
- エP操作はセマフォ変数の値を増加させ,V操作は減少させる。
答えと解説を見る
✓ これが正解イP操作は資源のロック,V操作は資源のアンロックを実現するのに使用できる。
解説
P操作で資源のロック、V操作でアンロックを実現できます。
セマフォは、資源の空きをセマフォ変数の値で数える仕組みです。P操作は、値が0なら呼び出したタスクを待たせ、そうでなければ値を1減らして先へ進めます。V操作は値を1増やし、待っているタスクがあれば一つを動かします。初期値を1にしておくと、最初にP操作をしたタスクだけが先へ進み、ほかのタスクはV操作で値が戻されるまで待ちます。つまりP操作が資源のロック、V操作がアンロックの役目を果たし、排他制御に使えます。取る前に呼ぶのがP、返すときに呼ぶのがVと、使う場面で覚えると取り違えません。
ほかの選択肢はなぜ違うのか
- アP操作とV操作は交互に行わなければならな…:P操作とV操作を必ず交互に行わなければならないという決まりはありません。続けてP操作をしたタスクは、値が戻るまで待たされるだけで、操作そのものが禁じられているわけではありません。
- ウP操作は事象の発生通知,V操作は事象の待…:待合せと発生通知の役割が入れ替わっています。値を減らして先へ進めない場合に待つのがP操作、値を増やして待っている側へ知らせるのがV操作なので、通知にP、待合せにVを使う組は成り立ちません。
- エP操作はセマフォ変数の値を増加させ,V操…:増減の向きが逆です。資源を取るP操作はセマフォ変数を減らし、資源を返すV操作は増やします。向きを入れ替えると、ロックとアンロックの意味も反対になってしまいます。
この問題の用語
- 排他制御同じデータを同時に更新しても、矛盾が起きないようにする仕組みです。先の処理が終わるまで、後の処理を待たせて防ぎます。
出典:平成31年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問8
同じ用語が出る問題
- 令和7年度 秋期 午前Ⅱ 問6:デッドロックに関する問題(排他制御)
- 令和5年度 秋期 午前Ⅱ 問8:スタベーションに関する記述(排他制御)
- 平成31年度 春期 午前Ⅱ 問7:優先度逆転の原因となるもの(排他制御)
- 平成30年度 春期 午前Ⅱ 問10:優先度逆転に関する問題(排他制御)
- 平成30年度 春期 午前Ⅱ 問8:セマフォに関する記述(排他制御)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)