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