セマフォとは?
セマフォとは、利用可能な資源の個数を表すカウンタと待ち行列からなる同期機構。獲得操作(P操作、wait)でカウンタを減らし、0なら待ちに入る。返却操作(V操作、signal)でカウンタを増やし、待っているタスクがあれば1つを実行可能にする。
エンベデッドシステムスペシャリスト試験の過去問では5回出題されています(2016年度〜2025年度)。
せまふぉ
セマフォの意味
利用可能な資源の個数を表すカウンタと待ち行列からなる同期機構。獲得操作(P操作、wait)でカウンタを減らし、0なら待ちに入る。返却操作(V操作、signal)でカウンタを増やし、待っているタスクがあれば1つを実行可能にする。
セマフォの具体例
計数セマフォで同時に使えるバッファ数を管理する。カウンタ初期値1の2値セマフォはロック(相互排他)として使える。
セマフォは試験でどう引っ掛けられる?
P操作がロック(資源獲得)、V操作がアンロック(資源解放)。役割を逆にした選択肢が定番。
セマフォと関連する用語
セマフォが出た過去問
リアルタイムシステムにおいて、アプリケーションタスクの要求によって入出力を行うデバイスドライバのタスク部が、要求された処理が完了したときに行う通知処理はどれか。
正解:イベントフラグを使って入出力要求元のタスクに入出力完了を通知する。
要点:完了通知はOSでなく要求元タスクへ同期機能で行う
デバイスドライバのタスク部は、割込みハンドラから処理完了を受け取ったあと、その事実を要求元のアプリケーションタスクへ知らせる必要がある。リアルタイムOSではイベントフラグやセマフォといった同期機能を使い、完了を待って待ち状態になっているタスクを実行可能状態へ戻す。通知の相手はOSやハードウェアではなく、あくまで待っているタスクである。
出典:平成28年度 春期 エンベデッドシステムスペシャリスト試験 am2 問7(IPA)セマフォに関する記述のうち、適切なものはどれか。
正解:V操作は、待ち状態のプロセスがあれば、そのプロセスを一つ実行可能状態へ移す。
要点:V操作は資源を解放し待ちプロセスを1つ実行可能にする
セマフォは資源の利用可能数を表すカウンタで、P操作(獲得)でカウンタを減らし、0以下なら要求したプロセスを待ち行列に入れる。V操作(解放)ではカウンタを増やし、待ち行列にプロセスがあればその1つを実行可能状態へ移す。P操作とV操作は対で使うが、実行順序や個数に「先にV操作が必要」といった制約はない。
出典:平成30年度 春期 エンベデッドシステムスペシャリスト試験 am2 問8(IPA)セマフォの基本操作であるP操作、V操作に関する記述のうち、適切なものはどれか。ここで、セマフォ変数は事象の数を表すものとし、初期値は1とする。
正解:P操作は資源のロック、V操作は資源のアンロックを実現するのに使用できる。
要点:P操作がロック、V操作がアンロックとして働く
初期値1のセマフォ(二値セマフォ)は、資源が1つだけの排他制御に使える。P操作でカウンタを1減らして資源を確保し、すでに他タスクが確保していれば待ち状態になる。V操作でカウンタを戻して資源を解放するので、P操作=ロック、V操作=アンロックとして機能する。
出典:令和1年度 春期 エンベデッドシステムスペシャリスト試験 am2 問8(IPA)優先度に基づくプリエンプティブスケジューリングのリアルタイムOSを使用した組込みシステムにおいて、入力装置及び出力装置にアクセスする二つのタスクX,Yがある。X…
正解:処理B
要点:取得順序が逆の2つのセマフォを片方だけ持つ区間が危険
デッドロックはXとYが互いに相手の持つセマフォを待ち合うときに起きる。Xはiを取得した直後、まだoを取得していない状態にあるときプリエンプトされると危険で、これが処理Bの区間である。この状態でYが走るとYはoを取得できるがiが取れずに待ちに入り、実行状態に戻ったXもoが取れずに待つため、双方が永久に進めなくなる。
出典:令和5年度 秋期 エンベデッドシステムスペシャリスト試験 am2 問6(IPA)優先度に基づくプリエンプティブスケジューリングのリアルタイムOSを使用した組込みシステムにおいて、入力装置及び出力装置にアクセスする二つのタスクX,Yがある。X…
正解:処理B
要点:取得順序が逆のロックを片方だけ持つ区間で詰まる
デッドロックは、XとYが互いに相手の保持するセマフォを待ち合ったときに起きる。Xはiを取得した直後でまだoを取得していない区間、すなわち処理Bでプリエンプトされると危険で、そこでYが動くとYはoを取得できるがiが取れずに待ちに入る。実行状態へ戻ったXもoが取れずに待つため、双方が永久に進めなくなる。
出典:令和7年度 秋期 エンベデッドシステムスペシャリスト試験 am2 問6(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。