応用情報技術者試験 令和5年秋 午前問17 解説付き過去問
問題
プリエンプティブな優先度ベースのスケジューリングで実行する二つの周期タスクA及びBがある。
タスクBが周期内に処理を完了できるタスクA及びBの最大実行時間及び周期の組合せはどれか。
ここで、タスクAの方がタスクBより優先度が高く、かつ、タスクAとBの共有資源はなく、タスク切替え時間は考慮しないものとする。
また、時間及び周期の単位はミリ秒とする。
正解
解説
この問題は、プリエンプティブ(割込み可能)な優先度ベースのスケジューリングにおいて、2つの周期タスクAおよびBがそれぞれの周期内に処理を完了できるかどうかを判断するものです。
- 前提条件の確認
・タスクAはタスクBよりも高い優先度を持つ
・タスクAとタスクBは共有資源を持たない
・タスク切替え時間は考慮しない
・すべてのタスクは周期的に実行される - スケジューリング可能性の判断方法
このような問題では、各タスクの周期に対してCPUの使用率を計算し、システム全体で利用率が1(100%)以下であれば、スケジューリングが可能であると判断します。利用率は以下の式で求められます:
CPU利用率 = 実行時間A周期A + 実行時間B周期B
- 各組合せの評価
タスクA:2/4 = 0.5
タスクB:3/8 = 0.375
合計 = 0.875 → スケジューリング可能
タスクA:3/6 = 0.5
タスクB:4/9 ≒ 0.444
合計 ≒ 0.944 → スケジューリング可能だが、正解の選択肢よりBの実行時間が小さい
タスクA:3/5 = 0.6
タスクB:5/13 ≒ 0.385
合計 ≒ 0.985 → スケジューリング可能だが、Bの周期が長く、正解の選択肢と比較して望ましくない
タスクA:4/6 ≒ 0.666
タスクB:5/15 = 0.333
合計 ≒ 0.999 → 限界に近く、安定運用に不向き
以上より、タスクBが周期内に処理を完了できる、かつ最大の実行時間と周期の組合せとして最も適切なのは、下記の構成です。
