令和5年度 高度共通 午前I(PM試験) 問6
プリエンプティブな優先度ベースのスケジューリングで実行する二つの周期タスクA及びBがある。タスクBが周期内に処理を完了できるタスクA及びBの最大実行時間及び周期の組合せはどれか。ここで,タスクAの方がタスクBより優先度が高く,かつ,タスクAとBの共有資源はなく,タスク切替え時間は考慮しないものとする。また,時間及び周期の単位はミリ秒とする。

※選択肢ア〜エは上の図表内に記載されています。
解答・解説を見る
正解:ア
AI解説
優先度の高いタスクAが常に先に実行され、タスクBはAの実行の合間で処理される。タスクBが周期内に完了する条件は、Bの周期内に発生するAの実行回数×Aの実行時間とBの実行時間の合計が、Bの周期(デッドライン)以内に収まることである。各選択肢の組合せについてタイムチャートを描いて検証すると、アの組合せだけがBの周期内に処理を完了できるため、アが正解。 ア: 正解。Bの周期内に割り込むAの処理時間を差し引いてもBの実行時間を確保でき、Bが周期内に完了する。 イ: Aの実行によりBの処理が中断され、Bの残り処理が周期(デッドライン)までに完了しない組合せである。 ウ: Aの周期・実行時間の比率が大きく、Bに割り当てられるCPU時間が不足してBが周期内に完了しない。 エ: Bの実行時間に対してAのプリエンプションが多く、Bの完了が周期を超えてしまう組合せである。 💡 この型の問題は、時刻0から両タスクが同時に起動する最悪ケースでタイムチャートを描くのが確実。プリエンプティブ方式では優先度の高いタスクの周期ごとにBが中断される点を必ず反映する。
※Web掲載用に表記を一部変更しています。図表はIPA公式問題冊子から引用しています。著作権はIPAに帰属します。