令和7年度 秋期 応用情報技術者試験 午前 問16
テクノロジ組込み・IoT
一つのI²Cバスに接続された二つのセンサーがある。それぞれのセンサー値を読み込む二つのタスクを排他的に制御したい。利用するリアルタイムOSの機能として,適切なものはどれか。
解答・解説
正解: イ. セマフォ
正解は イ(セマフォ) です。
排他制御とは、複数のタスクが同じ資源(この場合は一つのI²Cバス)を同時に利用しようとして、競合やデータの破損が発生するのを防ぐ仕組みです。
リアルタイムOSにおいて、共有資源の排他制御やタスク間の同期を行うために提供される代表的な機能が セマフォ(特にバイナリセマフォやミューテックス)です。
各選択肢の解説
- ア キュー: タスク間でデータやメッセージをやり取りするための通信機構です。排他制御そのものを目的とした機能ではありません。
- イ セマフォ: 正解です。共有資源へのアクセスを管理し、排他制御や同期を行うための機能です。
- ウ マルチスレッド: 一つのプロセス内で複数の処理(スレッド)を並行して実行する仕組みです。これ自体は排他制御を行う機能ではありません。
- エ メモリプール: タスクが動的にメモリを獲得・解放できるように、あらかじめ用意された固定長または可変長のメモリ領域のことです。排他制御には使用しません。