セマフォとミューテックスとは?
セマフォとミューテックスとは、複数の実行単位が共有資源へ同時に触れないようにする同期機構。セマフォは利用可能な資源数を表すカウンタで、P操作で減らしV操作で増やす。ミューテックスは資源数1に限定し、ロックした本人だけが解放できる仕組み。
応用情報技術者試験の過去問では4回出題されています(2018年度〜2025年度)。
せまふぉとみゅーてっくす
セマフォとミューテックスの意味
複数の実行単位が共有資源へ同時に触れないようにする同期機構。セマフォは利用可能な資源数を表すカウンタで、P操作で減らしV操作で増やす。ミューテックスは資源数1に限定し、ロックした本人だけが解放できる仕組み。
セマフォとミューテックスの具体例
同時接続数を5に制限したいコネクションプールは初期値5のセマフォで表現できる。一方、1つのファイルへの書込みを直列化したいならミューテックス。値1のセマフォとミューテックスは似るが、所有者の概念の有無が異なる。
セマフォとミューテックスは試験でどう引っ掛けられる?
P操作(wait)はカウンタを減らし、0なら待つ。増やすのがV操作(signal)。この向きを逆に覚えると全問落とす。ただしP操作で必ず待つわけではなく、カウンタが正なら減らして即座に進む。またミューテックスは獲得した本人しか解放できないのに対し、セマフォは別のスレッドがV操作を出してよく、この非対称性が生産者消費者問題の解法になる。複数のロックを異なる順序で取ると容易にデッドロックする点も定番。
セマフォとミューテックスと関連する用語
セマフォとミューテックスが出た過去問
セマフォを用いる目的として、適切なものはどれか。
正解:共有資源を管理する。
要点:セマフォは共有資源の排他制御・同期に使う
セマフォは、複数のプロセスやタスクが同時に使うと不都合が生じる共有資源へのアクセスを調停するための仕組みである。資源の利用可能数を表す変数に対しP操作(獲得)とV操作(解放)を行い、排他制御や同期を実現する。
出典:平成30年度 春期 応用情報技術者試験 午前 問18(IPA)一つのI2Cバスに接続された二つのセンサがある。それぞれのセンサ値を読み込む二つのタスクで排他的に制御したい。利用するリアルタイムOSの機能として、適切なものは…
正解:セマフォ
要点:共有資源への同時アクセス防止にはセマフォを使う
1本のバスという共有資源に対し、2つのタスクが同時にアクセスしないよう制御するには排他制御の仕組みが要る。セマフォは利用可能な資源数を表すカウンタで、獲得(P操作)と解放(V操作)によって同時にアクセスできるタスク数を制限できる。資源数1のセマフォを使えば、一方が使用中は他方が待たされ、排他制御が実現できる。
出典:令和4年度 春期 応用情報技術者試験 午前 問17(IPA)一つのI2Cバスに接続された二つのセンサーがある。それぞれのセンサー値を読み込む二つのタスクを排他的に制御したい。利用するリアルタイムOSの機能として、適切なも…
正解:セマフォ
要点:共有資源の排他制御にはセマフォを使う
1本のI2Cバスという単一の共有資源を、複数のタスクが同時に使わないように調停する必要がある。リアルタイムOSでこの相互排除を実現する機構がセマフォであり、資源を利用する前に獲得、利用後に解放することで、同時に1つのタスクだけがバスを使う状態を保証できる。
出典:令和7年度 秋期 応用情報技術者試験 午前 問16(IPA)リアルタイムOSにおいて,実行中のタスクがプリエンプションによって遷移する状態はどれか。
正解:実行可能状態
要点:プリエンプションされたタスクは待ちではなく実行可能状態に戻る
プリエンプションは、より優先度の高いタスクの発生などによって、実行中のタスクからCPUを強制的に取り上げる制御である。取り上げられたタスク自身は資源待ちに入ったわけではなく、CPUさえ割り当てられればすぐ動けるので、実行可能状態(レディ状態)に戻る。待ち状態へ移るのは入出力完了やセマフォ獲得など、自ら資源を待つ場合である。
出典:令和7年度 春期 応用情報技術者試験 午前 問14(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。