セマフォ

複数のプロセス/スレッドが並行動作する環境で、共有資源への同時アクセスを制御する仕組み。 #concurrency #kernel

仕組み

共有メモリ上のカウンタとして実装される。カウンタの初期値は同時アクセスを許可する数。クリティカルセクション(共有資源を使う処理)に入る際にP操作(wait)でカウンタを-1し、処理終了時にV操作(signal)で+1する。カウンタが0のとき新たに入ろうとするプロセスは、カウンタが正の値に戻るまで待たされる。

ミューテックスとの関係

資源数が1のセマフォ(バイナリセマフォ)は、実質的にミューテックス(mutex、排他ロック)と同じ。ミューテックスはセマフォの特殊ケースとみなせる。

位置づけ

排他制御(複数プロセスの共有資源への同時アクセスによる競合を防ぐ仕組み)を実現する代表的な手法のひとつ。OSやリアルタイムOS(RTOS)のカーネル機能として提供されることが多い。

出典

作成日時: 2026-08-10 19:08 / 更新日時: 2026-08-10 19:08