「セマフォって何…?」
応用情報技術者試験でも頻出ですが、
- ミューテックスとの違い
- 排他制御との関係
- P操作/V操作
ここで混乱する人がかなり多いです。
この記事では、
- セマフォとは?
- 何を管理する?
- ミューテックスとの違い
- 試験での頻出ポイント
を5分で理解できるように解説します!
まず結論
セマフォとは?
「利用できる数を管理する仕組み」
です!
超簡単なイメージ
駐車場で考える
駐車場:
空き3台
だったとします。
車が入るたびに:
3 → 2 → 1 → 0
と減る。
0になったら?
満車!
つまり、
「待つ」
必要があります。
これがセマフォ
「使える数」を管理している
ということ!
排他制御との関係
排他制御では:
「同時アクセスを制御」
したい。
セマフォは何をする?
例えば:
- プリンタ3台
- 同時利用は3人まで
みたいな管理。
ミューテックスとの違い
ここ超重要!
| 用語 | 同時利用 |
|---|---|
| ミューテックス | 1つだけ |
| セマフォ | 複数OK |
ミューテックスのイメージ
トイレ1個
1人しか使えない。
セマフォのイメージ
駐車場20台
20人まで使える。
セマフォの内部
カウンタを持っている
例えば:
sem = 3
利用開始すると?
sem = sem – 1
利用終了すると?
sem = sem + 1
0になったら?
待機!
これが基本動作。
P操作とV操作
試験でよく出る!
P操作
資源取得
カウンタを減らす。
3 → 2
V操作
資源返却
カウンタを増やす。
2 → 3
覚え方
| 操作 | 意味 |
|---|---|
| P操作 | 取る |
| V操作 | 戻す |
バイナリセマフォとは?
0 or 1だけ使うセマフォ
つまり:
ミューテックスに近い!
セマフォで防げるもの
競合
複数処理が同時に共有資源を使う問題。
でも注意!
デッドロックは起こる
例えば:
- Aが資源①保持
- Bが資源②保持
- お互い待つ
→ 停止
応用情報での頻出ポイント
かなり出る👇
- セマフォは資源数管理
- P操作/V操作
- 排他制御
- ミューテックスとの違い
- デッドロック
よくあるひっかけ
「セマフォは1つしか許可しない」
→ 間違い!
複数許可できる。
1分で復習!
セマフォ
利用可能数を管理
P操作
資源取得(減らす)
V操作
資源返却(増やす)
ミューテックスとの違い
| 用語 | 同時利用数 |
|---|---|
| ミューテックス | 1 |
| セマフォ | 複数 |
練習問題
問題
セマフォの説明として最も適切なものはどれか。
ア
CPUクロックを制御する機構
イ
共有資源の利用可能数を管理する機構
ウ
仮想記憶を管理する方式
エ
通信経路を暗号化する技術
解答
正解:イ
解説
セマフォは、共有資源を同時に利用できる数を管理する仕組みです。
排他制御や同期制御で利用されます。
まとめ
セマフォとは
「利用可能数を管理する仕組み」
超重要
- P操作
- V操作
- 排他制御
- デッドロック
特に、
「ミューテックス=1つ」
「セマフォ=複数OK」
ここは試験でかなり狙われます!
知識に自信ができた方は、今度は自身のキャリアアップに向けて準備してみませんか?

未経験から、ITエンジニアへ。
「IT業界に興味はあるけれど、自分にできるか不安」「何から始めればいいのか分からない」そんな方のために、Tech GO は未経験からのIT転職を専門的にサポートします。求人を紹介するだけではなく、あなたの強みを整理し、応募準備から入社後の成…
まずは無料でキャリア相談

コメント