リアルタイムOSにおける排他制御機能(セマフォ)

リアルタイムOS(RTOS)において、共通のハードウェア資源($\text{I}^2\text{C}$ バスなど)や共有メモリに対して複数のタスクが同時にアクセスしてデータ破壊や通信衝突が発生するのを防ぐ排他制御機構として、セマフォ(バイナリセマフォやミューテックス)が利用されます。 タスクがバスを使用する前にセマフォを獲得(P操作/Wait)し、通信完了後にセマフォを返却(V操作/Signal)することで、一方のタスクが通信している間は他方のタスクを待機させ、確実な排他制御を実現できます。したがってイが正解です。 各選択肢の解説は以下のとおりです。 キュー(メッセージキュー)は、タスク間でメッセージやデータを非同期に送受信(通信)するための機能です。 マルチスレッドは、一つのプロセス内で複数の処理の流れを並行・並列に実行する機構そのものであり、排他制御機能ではありません。 メモリプールは、固定長や可変長のメモリブロックを事前に確保しておき、タスクへ高速・動的に割り当て・解放するためのメモリ管理機能です。

一つの I2C\text{I}^2\text{C} バスに接続された二つのセンサーがある。それぞれのセンサー値を読み込む二つのタスクを排他的に制御したい。利用するリアルタイム OS の機能として,適切なものはどれか。

出典令和7年度秋期 応用情報技術者試験 午前 問16
ア
キュー
イ
セマフォ
ウ
マルチスレッド
エ
メモリプール