平成29年度 秋期 午前 問16
ソフトウェア
プリエンプションに関する問題
リアルタイム OS において,実行中のタスクがプリエンプションによって遷移する状態はどれか。
- ア休止状態
- イ実行可能状態
- ウ終了状態
- エ待ち状態
答えと解説を見る
✓ これが正解イ実行可能状態
解説
横取りされた側は、すぐ走れるまま順番を待ちます。
設問は、実行中のタスクがプリエンプションによって移る先の状態を問うています。プリエンプションとは横取りのことで、より優先度の高いタスクが走れるようになったときなどに、基本ソフトが処理装置を取り上げる動きを指します。ここで大事なのは、取り上げられる側には何の不足もないという点です。何かの完了を待っているわけでも、やるべきことが済んだわけでもないので、処理装置さえ戻ってくればその場から続きを走れます。だから移る先は実行可能状態です。基本ソフトはそのときレジスタの内容を退避し、順番が来たら復元して続きから走らせます。リアルタイム OS が締切を守れるのは、この横取りを容赦なく行うからです。自分の都合で降りたのか、取り上げられたのかを読み分けるのが要点です。
ほかの選択肢はなぜ違うのか
- ア休止状態:タスクがまだ生成されていないか、役目を終えて片付けられた後の状態です。横取りされただけのタスクがここへ移ってしまうと、続きを走らせることができなくなります。
- ウ終了状態:タスクが自分の処理をすべて終えたときに移る先です。横取りは処理の途中で中断されることであって、やるべきことが完了したわけではないので当てはまりません。
- エ待ち状態:入出力の完了など、何かの事象が起きるまで走れないときに自分から移る先です。処理装置を渡されても動けない点が、順番さえ来れば続きを走れる場合との分かれ目になります。
出典:平成29年度 秋期 応用情報技術者試験 午前 問16
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)