ソフトウェア
基本情報技術者試験 科目A免除 修了試験 20150125 実施分 問20
優先度に基づくプリエンプティブなスケジューリングを行うリアルタイム OS で,二つのタスク A,B をスケジューリングする。A の方が B より優先度が高い場合にリアルタイム OS が行う動作のうち,適切なものはどれか。
- ア A の実行中に B に起動がかかると,A を実行可能状態にして B を実行する。
- イ A の実行中に B に起動がかかると,A を待ち状態にして B を実行する。
- ウ B の実行中に A に起動がかかると,B を実行可能状態にして A を実行する。
- エ B の実行中に A に起動がかかると,B を待ち状態にして A を実行する。
出典:基本情報技術者試験 科目A免除 修了試験 20150125 実施分 問20
答えと解説を見る
正解:ウ
覚える知識
プリエンプティブスケジューリングの優先度処理
優先度ベースのプリエンプティブ方式では、高優先度タスクの起動で低優先度の実行中タスクが中断され、実行可能状態に戻る。
この問題で必要なこと
プリエンプティブでは、高優先度タスクが起動すると実行中の低優先度タスクを取り上げて実行する。取り上げられたタスクは待ちではなく実行可能状態になる。
ひっかけ
中断されたタスクを待ち状態にしてしまうこと(待ちはI/O完了待ち等)。
この知識の出題:本試験系 4 回・免除試験 2 回(公開問題での観測値)