HOME»応用情報技術者令和4年春期»午前問17
応用情報技術者令和4年春期 午前問17
問17
一つのI2Cバスに接続された二つのセンサーがある。それぞれのセンサー値を読み込む二つのタスクで排他的に制御したい。利用するリアルタイムOSの機能として,適切なものはどれか。
- キュー
- セマフォ
- マルチスレッド
- ラウンドロビン
- [出題歴]
- 応用情報技術者 R7秋期 問16
分類
テクノロジ系 » ソフトウェア » オペレーティングシステム
正解
イ
解説
セマフォは、並行動作している複数のタスク間で共通して使用する資源へのアクセスを制御するメカニズムです。
資源を使用するにはセマフォを取得する必要があり、あるタスクがセマフォを取得するとセマフォは1つ減り、逆に資源が解放されると1つ増えます。セマフォが1以上であれば資源は使用可能で、0のときは資源へのアクセスは待たされます。この仕組みによって、同時更新が問題となる処理部分の排他制御を行います。
セマフォは、整数型の共有変数(セマフォ変数)と、その変数を扱うP操作(取得)・V操作(解放)によって管理されます。
資源を使用するにはセマフォを取得する必要があり、あるタスクがセマフォを取得するとセマフォは1つ減り、逆に資源が解放されると1つ増えます。セマフォが1以上であれば資源は使用可能で、0のときは資源へのアクセスは待たされます。この仕組みによって、同時更新が問題となる処理部分の排他制御を行います。
セマフォは、整数型の共有変数(セマフォ変数)と、その変数を扱うP操作(取得)・V操作(解放)によって管理されます。
- キューは、先入れ先出し(FIFO)のデータ構造です。排他制御の機能はありません。
- 正しい。セマフォは、タスク間の排他制御に用いる機構です。読込み前にセマフォを取得し、読み終えたら解放することで競合やデータの破損を防げます。
- マルチスレッドは、OSから見た実行単位であるプロセスを複数の処理単位(スレッド)に細分化し、並行処理を行う仕組みです。
- ラウンドロビンは、実行可能状態となった順に従ってタスクに一定のCPU時間(タイムクウォンタム)を与えていくタスクスケジューリング方式です。