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

平成27年度 秋期 午前 問16

ソフトウェア

プリエンプションに関する問題

プリエンプション方式のタスクスケジューリングにおいて,タスク B の実行中にプリエンプションが発生する契機となるのはどれか。ここで,タスクの優先度は,タスク A が最も高く,タスク A > タスク B = タスク C > タスク D の関係とする。

答えと解説を見る

✓ これが正解アタスク A が実行可能状態になった。

解説

上位のタスクが現れたときに横取りされます。

プリエンプションは、実行中のタスクから OS が CPU を取り上げることです。ここを押さえると、判断の軸は二つに定まります。一つは、手放したのが本人か、それとも取り上げられたのかという点。もう一つは、新しく走れる状態になったタスクの優先度が、いま走っているタスクより上か、同じか、下かという点です。設問はタスクスケジューリングの前提として、四つのタスクの優先度の関係を明示しています。走っているのは二番目に高いタスクで、そこへそれより高いタスクが実行可能になれば、OS は走っているほうから CPU を取り上げ、実行可能な状態へ戻したうえで、高いほうを走らせます。これが横取りです。四つの記述は、上位が現れた場合、同位が現れた場合、下位が現れた場合、そして本人が待ちに入った場合を一通り並べたものなので、この二つの軸だけで切り分けられます。時間切れによる切替えも横取りの一種ですが、この設問では選択肢に現れていません。

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

出典:平成27年度 秋期 応用情報技術者試験 午前 問16

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