スポンサーリンク

【応用情報技術者試験】セマフォを5分で理解!

「セマフォって何…?」
応用情報技術者試験でも頻出ですが、

  • ミューテックスとの違い
  • 排他制御との関係
  • 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転職を専門的にサポートします。求人を紹介するだけではなく、あなたの強みを整理し、応募準備から入社後の成…

まずは無料でキャリア相談

コメント