ソフトウェア
平成29年度 秋期 基本情報技術者試験 午前 問18
優先度に基づくプリエンプティブなスケジューリングを行うリアルタイム OS で,二つのタスク A,B をスケジューリングする。A の方が B よりも優先度が高い場合にリアルタイム OS が行う動作のうち,適切なものはどれか。
- ア A の実行中に B に起動がかかると,A を実行可能状態にして B を実行する。
- イ A の実行中に B に起動がかかると,A を待ち状態にして B を実行する。
- ウ B の実行中に A に起動がかかると,B を実行可能状態にして A を実行する。
- エ B の実行中に A に起動がかかると,B を待ち状態にして A を実行する。
出典:平成29年度 秋期 基本情報技術者試験 午前 問18
答えと解説を見る
正解:ウ
覚える知識
プリエンプティブスケジューリングの優先度処理
プリエンプティブスケジューリングは、高優先度タスクが起動すると実行中の低優先度タスクからCPUを横取りする方式である。
この問題で必要なこと
プリエンプティブ方式では、実行中の低優先度タスクBに高優先度タスクAが起動されると、BはCPUを奪われて実行可能状態になり、Aが実行される。
ひっかけ
低優先度のBが起動しても実行中のAは奪われない点、奪われたタスクは待ち状態ではなく実行可能状態になる点を取り違えさせる。
この知識の出題:本試験系 4 回・免除試験 2 回(公開問題での観測値)