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

平成24年度 春期 午前Ⅱ 問9

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

デッドラインに関する問題

優先度に基づくプリエンプティブスケジューリングが行われる二つのタスクA,Bがある。優先度はAの方が高く,制約条件は表のとおりである。Bが実行中,割込みによってAに実行を移すとき,A,Bともにデッドラインを超えないためには,割込みハンドラを何マイクロ秒以内で処理する必要があるか。ここで,割込み発生から割込みハンドラが起動するまでの時間,及びタスク切替えによるオーバヘッドの時間は無視するものとする。

単位 マイクロ秒

タスクの実行時間起動してからデッドラインまでの時間
タスクA3060
タスクB50100
答えと解説を見る

✓ これが正解ア20

解説

Bの50+Aの30+ハンドラの時間≦100から、20マイクロ秒以内です。

軸は、Bの起動からデッドラインまでの100マイクロ秒の中に、どの処理が入るかを足し合わせることです。Bの実行中に割込みが起きると、割込みハンドラが動いたあと、優先度の高いAが30マイクロ秒実行され、その後でBの残りが実行されます。Bの実行時間50はそのまま必要なので、割込みハンドラの時間をhとすると、Bの期限を守る条件は50+h+30≦100、つまりh≦20です。Aの期限は割込みから数えてもh+30≦60、つまりh≦30なので、Bの条件のほうが厳しくなります。両方を満たすのはh≦20で、20マイクロ秒以内となり正解の値と一致します。期限の長いタスクには、割り込む側の処理がすべて上乗せされると考えましょう。

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

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

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