令和4年度 春期 応用情報技術者試験 午前 問題 問17
テクノロジOS・ソフトウェア組込み・IoTタスク管理・排他制御
一つの I²Cバスに接続された二つのセンサがある。それぞれのセンサ値を読み込む二つのタスクで排他的に制御したい。利用するリアルタイムOSの機能として,適切なものはどれか。
解答・解説
正解: イ. セマフォ
リアルタイムOSにおいて、複数のタスクが共有資源(この場合は一つのI²Cバス)に同時にアクセスする際、競合による誤動作を防ぐために排他制御が必要になります。この排他制御やタスク間の同期を実現するための代表的なOSの機能がセマフォです。
各選択肢の解説
- ア キュー
タスク間でデータの送受信を行うためのデータ構造(待ち行列)です。排他制御を目的とした機能ではありません。 - イ セマフォ
共有資源へのアクセス状況を管理し、排他制御やタスク間の同期を行うための機能です。本設問の目的に合致しており、正解となります。 - ウ マルチスレッド
複数の処理の流れ(スレッド)を並行して実行する仕組みです。これ自体は排他制御を行う機能ではありません。 - エ ラウンドロビン
各タスクに一定の処理時間を割り当て、順番に切り替えながら実行するスケジューリング方式です。共有資源の排他制御のための機能ではありません。