令和4年度春期 応用情報技術者試験 午前 問17
一つのI2Cバスに接続された二つのセンサがある。それぞれのセンサ値を読み込む二つのタスクで排他的に制御したい。利用するリアルタイムOSの機能として,適切なものはどれか。
- ア キュー
- イ セマフォ
- ウ マルチスレッド
- エ ラウンドロビン
解答・解説を見る
正解:イ
AI解説
複数タスクが同一のI2Cバス(共有資源)へ排他的にアクセスする必要がある場合、リアルタイムOSの排他制御機構であるセマフォを用いてクリティカルセクションを保護するのが適切である。 ア: キューはタスク間でデータやメッセージを順序立てて受け渡す機構であり、資源への排他アクセスを保証する仕組みではない。 イ: 正しい。セマフォはリソースの同時アクセス数を制御する同期機構であり、二つのタスクが同一のI2Cバスを排他的に使用するよう制御するのに適している。 ウ: マルチスレッドは複数の処理の流れを並行して実行するための仕組み自体であり、それ単独では資源の排他制御を実現しない。 エ: ラウンドロビンはCPU時間を各タスクに均等に割り当てるスケジューリング方式であり、資源の排他制御とは無関係である。 💡 「共有資源への排他アクセス」というキーワードが出たらセマフォ(またはミューテックス)を想起する。キューやラウンドロビンと混同しないこと。
出典:令和4年度 春期 応用情報技術者試験 午前 問17 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。