令和7年秋期試験問題 午前問16

一つのI2Cバスに接続された二つのセンサーがある。それぞれのセンサー値を読み込む二つのタスクで排他的に制御したい。利用するリアルタイムOSの機能として,適切なものはどれか。

  • キュー
  • セマフォ
  • マルチスレッド
  • メモリプール
正解 問題へ
分野 :テクノロジ系
中分類:ソフトウェア
小分類:オペレーティングシステム
解説
セマフォは、並行動作している複数のタスク間で共通して使用する資源へのアクセスを制御するメカニズムです。

資源を使用するにはセマフォを取得する必要があり、あるタスクがセマフォを取得するとセマフォは1つ減り、逆に資源が解放されると1つ増えます。セマフォが1以上であれば資源は使用可能で、0のときは資源へのアクセスは待たされます。この仕組みによって、同時更新が問題となる処理部分の排他制御を行います。

セマフォは、整数型の共有変数(セマフォ変数)と、その変数を扱うP操作(取得)・V操作(解放)によって管理されます。
  • キューは、先入れ先出し(FIFO)のデータ構造です。排他制御の機能はありません。
  • 正しい。セマフォは、タスク間の排他制御に用いる機構です。読込み前にセマフォを取得し、読み終えたら解放することで競合やデータの破損を防げます。
  • マルチスレッドは、OSから見た実行単位であるプロセスを複数の処理単位(スレッド)に細分化し、並行処理を行う仕組みです。
  • メモリプールは、プログラムの起動時などに大きなメモリ領域を先取りしておき、その確保済のプールから小さく分けて貸出し・返却する仕組みです。

この問題の出題歴


Pagetop