問題
一つの I²C バスに接続された二つのセンサーがある。それぞれのセンサー値を読み込む二つのタスクを排他的に制御したい。利用するリアルタイム OS の機能として、適切なものはどれか。
選択肢
- 1キュー
- 2セマフォ
- 3マルチスレッド
- 4メモリプール
正解
2. セマフォ
詳しい解説を見る解説を閉じる
解説
複数のタスクが同一の資源(ここでは一つの I²C バス)を同時に使わないように排他制御するには、リアルタイム OS のセマフォ(特に値が0/1のバイナリセマフォ)を用いるのが適切です。バス使用前にセマフォを獲得し、使用後に解放することで、一度に一つのタスクだけがバスにアクセスできます。よってイが正解です。キューはデータの受け渡し、メモリプールは動的なメモリ管理、マルチスレッドは並行実行の仕組みであり、排他制御そのものの機能ではありません。(出典: 令和7年度 秋期 応用情報技術者試験 午前 問16)
一問一答
全400問を繰り返し学習