一つのI²Cバスに接続された二つのセンサがある。それぞれのセンサ値を読み込む二つのタスクで排他的に制御したい。利用するリアルタイムOSの機能として,適切なものはどれか。
令和4年度 春期 応用情報技術者 問17
テクノロジ系
正解と解説
正解 イ
共有資源を複数のタスクで排他的に使うための仕組みはセマフォです。
セマフォは、共有資源を使えるかどうかを表すカウンタで、P操作(獲得)とV操作(解放)でタスク間の排他制御や同期を行います。二つのタスクが一つのI²C(Inter-Integrated Circuit)バスを同時に使うと通信が衝突します。そこで、バスを使う前にセマフォを獲得し、使い終わったら解放します。こうすれば、一方のタスクがバスを使っている間、もう一方のタスクは待ち状態になります。決め手は「一つのI²Cバス」と「排他的に制御」という言葉です。
ア:キューは、タスク間でデータやメッセージを順番に受け渡すための仕組みです。共有資源の排他制御を主な目的とはしません。
ウ:マルチスレッドは、一つのプロセスの中で複数の処理の流れを並行して実行する方式です。排他制御を行う機能ではありません。
エ:ラウンドロビンは、一定の時間ごとに実行するタスクを順に切り替えるスケジューリング方式です。資源を排他的に使わせる仕組みではありません。
出典:令和4年度 春期 応用情報技術者試験 問17
全年度から出題。10問で実力を判定します。登録不要。
出典:令和4年度 春期 応用情報技術者試験 問17(独立行政法人情報処理推進機構)
解説と用語ページは生成 AI が書き、別の生成 AI が確かめています。作り方