テクノロジ系ソフトウェア
セマフォとは?
読み方: せまふぉ
1行定義
プロセス間の同期と排他制御を実現する整数カウンタを使った仕組み。P操作(ロック)とV操作(解放)で制御する
詳細解説
セマフォ(Semaphore)は、複数のプロセスやスレッド間の同期と排他制御を実現するための整数変数(カウンタ)を使った制御機構です。ダイクストラが考案した手法で、カウンタの値で利用可能なリソース数を管理します。P操作(Wait操作・獲得)ではカウンタを1減らし、0未満になった場合はそのプロセスを待機状態にします。V操作(Signal操作・解放)ではカウンタを1増やし、待機中のプロセスがあれば1つ実行可能状態にします。バイナリセマフォ(カウンタが0または1のみ)はミューテックスとも呼ばれ、単純な排他制御に使われます。カウンティングセマフォ(カウンタが2以上)は同時アクセス可能なプロセス数を制限するリソース管理に使われます。ITパスポートではセマフォの目的(排他制御・同期)とP/V操作の基本が問われます。
ITパスポートでの出題ポイント
- 1セマフォのP操作(獲得・カウンタ減少)とV操作(解放・カウンタ増加)
- 2バイナリセマフォとカウンティングセマフォの違い
- 3セマフォによるデッドロック防止と排他制御の実現
関連用語
シラバス 6.5 準拠 / 最終更新: 2026-05-26