令和3年度 春期 午前 問17
ソフトウェア
プリエンプションに関する問題
リアルタイム OS において,実行中のタスクがプリエンプションによって遷移する状態はどれか。
- ア休止状態
- イ実行可能状態
- ウ終了状態
- エ待ち状態
答えと解説を見る
✓ これが正解イ実行可能状態
解説
実行を取り上げられ,実行可能状態へ戻ります。
設問は、実行中のタスクがプリエンプションを受けたときに、どの状態へ移るのかを問うています。ですから見分けの軸は、そのタスクが自分の都合で実行を続けられなくなったのか、それとも外から実行の権利を取り上げられただけなのか、という一点だけです。プリエンプションは、より優先度の高いタスクが現れたときに、処理装置を割り当て直すために実行中のタスクを中断させる動きです。中断させられたタスクは、必要な資源がそろわなくなったわけでも、仕事をやり終えたわけでもありません。処理装置さえ回ってくればすぐに続きを実行できますから、順番を待つ列へ戻ることになります。これが実行可能状態です。
ほかの選択肢はなぜ違うのか
- ア休止状態:タスクが生成される前や削除された後に置かれる状態です。プリエンプションを受けたタスクは処理の途中で中断されただけですから、割当てが戻れば続きを実行でき、この状態へは移りません。
- ウ終了状態:タスクが自らの処理をやり終えたときに移る状態です。中断させられたことは処理が完了したことを意味しませんから、割当てを取り上げられただけのタスクがここへ移ることはありません。
- エ待ち状態:入出力の完了など、外の事象がそろうまで処理を進められないタスクが移る状態です。プリエンプションを受けたタスクは待つべき事象を抱えておらず、処理装置さえあればそのまま続けられます。
出典:令和3年度 春期 応用情報技術者試験 午前 問17
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)