令和5年度 秋期 午前 問17
ソフトウェア
最大実行時間及び周期の組合せ
プリエンプティブな優先度ベースのスケジューリングで実行する二つの周期タスク A 及び B がある。タスク B が周期内に処理を完了できるタスク A 及び B の最大実行時間及び周期の組合せはどれか。ここで,タスク A の方がタスク B より優先度が高く,かつ,タスク A と B の共有資源はなく,タスク切替え時間は考慮しないものとする。また,時間及び周期の単位はミリ秒とする。
- アタスク A は最大実行時間 2・周期 4 / タスク B は最大実行時間 3・周期 8
- イタスク A は最大実行時間 3・周期 6 / タスク B は最大実行時間 4・周期 9
- ウタスク A は最大実行時間 3・周期 5 / タスク B は最大実行時間 5・周期 13
- エタスク A は最大実行時間 4・周期 6 / タスク B は最大実行時間 5・周期 15
答えと解説を見る
✓ これが正解アタスク A は最大実行時間 2・周期 4 / タスク B は最大実行時間 3・周期 8
解説
周期から優先度の高い側に奪われる時間を引きます。
設問は、優先度に基づいて割り込みながら実行する二つの周期タスクについて、優先度の低いタスク B が自分の周期の中で処理を終えられる組合せを選ばせています。優先度の高いタスク A はいつでも割り込めるので、B は A が使い終えた残りの時間で走ることになります。そこで、B の周期の間に A が何回起きるかを数えます。B の周期を A の周期で割った商を切り上げた数が、その回数です。A に奪われる時間は、その回数と A の最大実行時間の積になり、B に残る時間は周期からこれを差し引いた値です。残りが B の最大実行時間以上であれば、周期の内に終えられます。正解の組合せでは、周期 8 の間に周期 4 の A が 2 回起きて 4 を奪い、残る 4 が B の 3 を上回ります。
ほかの選択肢はなぜ違うのか
- イタスク A は最大実行時間 3・周期 6…:優先度の高い側が最大実行時間 3・周期 6、低い側が 4・周期 9 の組合せです。9 を 6 で割った商は切り上げて 2 回となり、奪われる 6 を差し引くと残りは 3 しかなく、必要な 4 に届きません。
- ウタスク A は最大実行時間 3・周期 5…:優先度の高い側が最大実行時間 3・周期 5、低い側が 5・周期 13 の組合せです。13 を 5 で割った商は切り上げて 3 回となるため奪われる量は 9 に達し、残る 4 では必要な 5 に足りません。
- エタスク A は最大実行時間 4・周期 6…:優先度の高い側が最大実行時間 4・周期 6、低い側が 5・周期 15 の組合せです。15 を 6 で割った商は切り上げて 3 回で、3 回目は周期末までに 3 だけ走るので奪われるのは 11 で、残る 4 となり、必要な 5 に届きません。
出典:令和5年度 秋期 応用情報技術者試験 午前 問17
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)