●セマフォとは
複数のタスクで使用する共有資源に対して、現在アクセス可能な数を示すことで、排他制御を実現する方法。
●出題された回(平成29年度春期以降)
令和4年度秋期/平成30年度春期
セマフォの説明
セマフォとは、複数のタスクで使用する共有資源に対するアクセス制御の仕組みで、現在アクセス可能な数を示すことで、排他制御を実現する方法です。
要するに、排他制御のやり方の1つですね。
排他制御とは
排他制御の復習をしましょう。排他制御は分かってるよ!という方は飛ばしてください!
排他制御とは、同時に複数の人が共有資源を編集出来ないようにする仕組みです。
今、ここに1つのファイルがあるとします。
このファイルをAさんが編集していましたが、途中でBさんも編集を始めてしまいました。
こうなると、Aさんの編集とBさんの編集がごちゃまぜになって、ファイルが破損してしまうかもしれません。
なので、Aさんが編集している時は、Bさんは編集出来ないようにする仕組みが必要になります。この仕組みが排他制御です。
セマフォとは
セマフォとは、排他制御のやり方の1つで、セマフォ変数という値を使ってファイルにアクセス可能かどうかを表現します。
セマフォ変数が1以上の時はアクセス可能で、0の時はアクセス出来ません。
これがセマフォです。
過去問
応用情報技術者 午前試験
令和4年度春期問17
一つのI2Cバスに接続された二つのセンサがある。それぞれのセンサ値を読み込む二つのタスクで排他的に制御したい。利用するリアルタイムOSの機能として、適切なものはどれか。
ア キュー イ セマフォ
ウ マルチスレッド エ ラウンドロビン
正解は”イ”
セマフォは排他制御に用いる仕組みです。よって、”イ”が正解です。
応用情報技術者 午前試験
平成30年度春期問18
セマフォを用いる目的として、適切なものはどれか。
ア 共有資源を管理する。
イ スタックを容易に実現する。
ウ スラッシングの発生を回避する。
エ セグメンテーションを実現する。
正解は”ア”
セマフォは共有資源の管理に使われる仕組みです。よって、”ア”が正解です。