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

平成25年度 秋期 午前 問18

ソフトウェア

プリエンプティブに関する問題

優先度に基づくプリエンプティブなスケジューリングを行うリアルタイム OS で,二つのタスク A,B をスケジューリングする。A の方が B より優先度が高い場合にリアルタイム OS が行う動作のうち,適切なものはどれか。

答えと解説を見る

✓ これが正解ウB の実行中に A に起動がかかると,B を実行可能状態にして A を実行する。

解説

優先度の高い側が横取りし、奪われた側は実行可能状態です。

この設問は二つの点を別々に決めると整理できます。一つ目は、どちらがどちらを追い出すのかです。プリエンプティブな方式では、動いているタスクを途中で止めて割り込めるのは優先度が高い側ですから、優先度の低いタスクが動いている最中に高いタスクへ起動がかかったときに入れ替わりが起きます。二つ目は、追い出された側がどの状態へ移るのかです。待ち状態は入出力の完了など外の出来事を待つときに入る状態であり、自分から何かを頼んだ場合に限られます。追い出された側は処理装置を取り上げられただけで何も待っていませんから、順番が回ればすぐ動ける実行可能状態へ移ります。判定の軸はこの二点です。

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

出典:平成25年度 秋期 基本情報技術者試験 午前 問18

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