修了試験 2015-01-25実施分 基本情報技術者試験 問20
優先度に基づくプリエンプティブなスケジューリングを行うリアルタイムOSで,二つのタスクA,Bをスケジューリングする。 Aの方がBより優先度が高い場合にリアルタイムOSが行う動作のうち,適切なものはどれか。
正答3
解説
正解は3です。 プリエンプティブなスケジューリングでは、実行中のタスクより優先度の高いタスクが実行可能になると、OSが実行中のタスクを中断して切り替えます。 中断されたタスクは、CPUの割当てを待つ実行可能状態に戻ります。 【選択肢別解説】 1:× 高優先度のAの実行中に低優先度のBが起動しても、Aは中断されません。 Bは実行可能状態で待ちます。 2:× 同様に、Aの実行中にBが起動してもAは中断されません。 また待ち状態は入出力などの事象を待つ状態であり、横取りされたタスクが移る状態ではありません。 3:○ 低優先度のBの実行中に高優先度のAが起動すると、OSはBを中断して実行可能状態にし、Aを実行します。 Aの処理が終われば、Bは中断した所から再開できます。 4:× Bは入出力などを待っているわけではないので、待ち状態ではなく実行可能状態に移ります。 【ポイント】 タスクの三つの状態は、実行状態、実行可能状態、待ち状態です。 横取り(プリエンプション)されたタスクは実行可能状態、入出力を要求したタスクは待ち状態に移ると区別します。まとめて解く
修了試験 2015-01-25実施分を通しで解く(80問)→