この概念が出た関連問題

この試験の対策ガイド

情報処理安全確保支援士試験 対策ガイド

合格率・勉強法・参考書の選び方をまとめています

見る →
答えと解説を見る(先に解くのがおすすめ)

正解は ア

解説

プリエンプティブな優先度ベーススケジューリングにおいて、タスクBが周期内に処理を完了できる条件を計算する問題です。タスクAの方が優先度が高いため、タスクBの処理はタスクAの実行によって中断されます。レートモノトニックスケジューリングの利用率上限公式より、2タスクの場合 C_A/T_A + C_B/T_B ≦ 2(2^(1/2)-1) ≈ 0.828 が必要条件(十分条件)です。選択肢 a を検証:C_A=2, T_A=4, C_B=3, T_B=8。C_A/T_A = 2/4 = 0.5, C_B/T_B = 3/8 = 0.375。合計 = 0.875 > 0.828。ただし実際のスケジューリングで検証すると、T_B=8 の間に A が 8/4=2 回実行(2×2=4ms)されます。B に残る時間は 8-4=4ms ≧ 3ms = C_B なので B は期限内に完了できます。正解は a です。

なぜ他の選択肢は違うのか

選択肢 イ
タスクAの最大実行時間3、周期6、タスクBの最大実行時間4、周期9。T_B=9 の間に A が 9/6=1.5→1回(実際には1回=3ms)+ 半サイクルに注意。厳密スケジューリング解析で B が期限を超過します。
選択肢 ウ
タスクAの最大実行時間3、周期5、タスクBの最大実行時間5、周期13。T_B=13 の間に A が 2〜3 回実行(3×3=9ms)。B に残る時間 13-9=4ms < 5ms = C_B となりBが期限超過します。
選択肢 エ
タスクAの最大実行時間4、周期6、タスクBの最大実行時間5、周期15。T_B=15 の間に A が 15/6=2.5→2回(4×2=8ms)または3回(4×3=12ms)。実行可能時間が不足してBが期限超過します。

解くときのポイント

リアルタイムスケジューリングの検証手順:①B の周期 T_B 内に A が何回実行されるか算出(T_B / T_A の切り上げ × C_A)、②B に残る時間 = T_B - A の合計実行時間 ≧ C_B を確認。利用率公式(RMS: C_A/T_A + C_B/T_B ≤ 0.828)でも絞り込める。