SkillStack
テクノロジ系17 / 80問

応用情報技術者試験 令和5年度 秋期 午前 問17

プリエンプティブな優先度ベースのスケジューリングで実行する二つの周期タスク A 及び B がある。タスク B が周期内に処理を完了できるタスク A 及び B の最大実行時間及び周期の組合せはどれか。ここで、タスク A の方がタスク B より優先度が高く、かつ、タスク A と B の共有資源はなく、タスク切替え時間は考慮しないものとする。また、時間及び周期の単位はミリ秒とする。

選択肢を押すと答え合わせができます。

正解と解説を見る

【正解】ア

優先度の高いタスクAが実行可能になると、実行中のタスクBは中断されます。Bにとって最も厳しいのは、AとBが同時に開始する場合です。Bの応答時間Rは、「B自身の実行時間+Rの間に起動するAの実行時間」で求めます。式ではR=CB+⌈R/TA⌉CAとなり、値が変わらなくなるまで反復します。

アでは、最初にR=3として、3+⌈3/4⌉×2=5、次に3+⌈5/4⌉×2=7、再計算しても7です。実際には、0~2でA、2~4でB、4~6で次のA、6~7で残りのBを実行できます。Bの応答時間7は周期8以内なので、処理を完了できます。

イは誤りです。Rは4→7→10となり、Bの周期9を超えます。 ウは誤りです。Rは5→8→11→14となり、Bの周期13を超えます。 エは誤りです。Rは5→9→13→17となり、Bの周期15を超えます。CPU使用率だけで判定すると、締切り前に高優先度タスクが何回割り込むかを正しく評価できないため、応答時間を確認する必要があります。

【ポイント】 ・プリエンプティブ方式では、高優先度タスクが低優先度タスクの実行を中断できます。 ・低優先度タスクの最悪応答時間には、その間に起動する高優先度タスクの実行時間を含めます。 ・周期を締切りとみなし、応答時間が周期以下なら期限内に完了できます。

出典:令和5年度 秋期 応用情報技術者試験 午前 問17
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。

この回の80問を、アプリで通しで解く

  • 本番と同じ問題数・制限時間で通し演習(模試モード)
  • 間違えた問題は自動で「復習すべき問題」に回る
  • 解説で分からない点はAIに質問できる
SkillStackで無料で始める