問題
優先度に基づくプリエンプティブなスケジューリングを行うリアルタイム OS で、二つのタスク A、B をスケジューリングする。A の方が B よりも優先度が高い場合にリアルタイム OS が行う動作はどれか。
選択肢
- 1A の実行中に B に起動がかかると、A を実行可能状態にして B を実行する。
- 2A の実行中に B に起動がかかると、A を待ち状態にして B を実行する。
- 3B の実行中に A に起動がかかると、B を実行可能状態にして A を実行する。
- 4B の実行中に A に起動がかかると、B を待ち状態にして A を実行する。
正解
3. B の実行中に A に起動がかかると、B を実行可能状態にして A を実行する。
詳しい解説を見る解説を閉じる
解説
プリエンプティブなスケジューリングでは、実行中のタスクより優先度の高いタスクが起動可能になると、実行中タスクを中断して優先度の高い方に切り替える。優先度の低い B の実行中に優先度の高い A が起動すると、B を実行可能状態に戻して A を実行する。よって「ウ」が正しい。中断された B は待ち状態ではなく実行可能状態(レディ)に移る点が要点である。(出典: 平成29年度 秋期 基本情報技術者試験 午前 問18)
一問一答
科目A 180問+科目B 60問