カコモンノート

問16応用情報技術者 令和7年度 秋期

16 / 80問
令和7年度 秋期2025年

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

選択肢をえらぶと、答えと解説が出ます

選択肢をえらぶと、
ここに答えと解説が出ます
正答 2

解説

正解は2。一つのI²Cバスは同時に一つの通信しか扱えない共有資源なので、二つのタスクが同時に使わないよう排他制御が必要になる。リアルタイムOSでこの役割を担うのがセマフォで、バスを使う前にセマフォを獲得し、使い終わったら解放する。獲得できなかったタスクは解放まで待つので、同時に使われることがない。だから2が正しい。

  • 1は、キュー(メッセージキュー)はタスク間でデータを受け渡す仕組みで、共有資源の排他制御の機能ではない。
  • 3は、マルチスレッドは処理を並行して動かす仕組みで、むしろ排他制御が必要になる側。
  • 4は、メモリプールは決まった大きさのメモリ領域を素早く確保・解放する仕組みで、資源の排他とは関係がない。

根拠:リアルタイムOSの同期・通信機能(セマフォ、メッセージキュー、メモリプール)

KEY POINT
共有資源を複数のタスクが同時に使わないようにするにはセマフォ。データの受け渡しはキュー、メモリの確保はメモリプール。
出典:令和7年度 秋期 応用情報技術者試験 午前 問16(独立行政法人 情報処理推進機構(IPA))
独立行政法人情報処理推進機構(IPA)が公表している過去問題です。IPA の「過去問題の使用について」に基づき、IPA が指定する形で出典を明記して掲載しています(利用の許諾申請は不要)。問題文・選択肢の内容は変えていません。元の問題冊子から文字を起こす都合で、改行・字間の空白は省き、英数字の全角・半角は元とそろえていない箇所があります。図表は IPA が公表した問題冊子のものです。解説は当サイトが独自に作成したもので、IPA とは関係ありません。