過去問解きまくり研究所 ホーム

平成22年度 春期 午前Ⅱ 問23

オペレーティングシステム

プリエンプティブの問題

プリエンプティブな優先度ベーススケジューリングで動作する三つの周期タスクA,B,Cがある。タスクCが実行可能になってから完了するまでの時間は最大何ミリ秒か。

周期(ミリ秒)最大実行時間(ミリ秒)優先度
タスクA40050高
タスクB650200中
タスクC700300低
答えと解説を見る

✓ これが正解ウ600

解説

実行中にタスクAが2回、タスクBが1回入り、最大600ミリ秒です。

タスクCは優先度が最も低いので、実行中にタスクAとBが実行可能になるたびに中断されます。最悪の場合は、A、B、Cが同時に実行可能になったときです。まずAの50ミリ秒とBの200ミリ秒が先に動き、その後にCが実行されます。Cの完了までの時間をRとすると、R=300+(R以内にAが実行可能になる回数)×50+(R以内にBが実行可能になる回数)×200です。初めにR=300+50+200=550とすると、550ミリ秒までにAは0と400ミリ秒の2回実行可能になるので、R=300+100+200=600です。600ミリ秒まででもAは2回、Bは1回のままなので、600で確定します。回数を数え直して値が変わらなくなるまで繰り返す、と覚えると解けます。

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

出典:平成22年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問23

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)