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

平成29年度 秋期 午前 問18

ソフトウェア

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

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

答えと解説を見る

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

解説

高いほうが割り込み、低いほうは実行可能な状態で待ちます。

優先度に基づいて取り上げる方式なので、高いほうが割り込めます。低いものが走っている最中でも、高いものが来れば移りました。取り上げられた側は、また走れる状態で待ちます。だから低いほうを実行可能にして高いほうを実行する肢が当たりました。プリエンプティブと呼ばれ、応答の速さを保つ方式です。逆に高いほうが走っていれば、低いものが来ても移りません。走っているほうが優先度で勝っているからでした。逆向きに移す肢は、優先度の高いほうを止めてしまいます。高いほうを待ち状態にする肢も、当たりませんでした。待ち状態は、資源がそろうのを待つときに入る状態です。割り込まれただけなら、資源は待っていません。低いほうを待ちに入れる肢も、状態が違いました。向きと状態の二つを、どちらも合わせねばなりません。

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

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

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