平成27年度 秋期 応用情報技術者試験 午前 問16
テクノロジ/ソフトウェアプリエンプション方式のタスクスケジューリングにおいて,タスクBの実行中にプリエンプションが発生する契機となるのはどれか。ここで,タスクの優先度は,タスクAが最も高く,タスクA>タスクB=タスクC>タスクDの関係とする。
出典:平成27年度 秋期 応用情報技術者試験 午前 問16
- アタスクAが実行可能状態になった。
- イタスクBが待ち状態になった。
- ウタスクCが実行可能状態になった。
- エタスクDが実行可能状態になった。
正解:ア
解説
プリエンプション方式では,実行中のタスクより優先度の高いタスクが実行可能状態になった時点で,CPUの使用権が高優先度タスクへ強制的に切り替えられます。設問ではタスクAがタスクBより優先度が高いため,タスクAが実行可能状態になった時点でタスクBからタスクAへプリエンプションが発生します。
選択肢ごとの解説
- ア正しい。タスクAはタスクBより優先度が高いため,タスクAが実行可能状態になるとタスクBの実行を中断してタスクAに切り替わります(プリエンプション発生)。
- イ誤り。タスクB自身が待ち状態になるのは自発的なCPU解放(ディスパッチ)であり,他タスクによるプリエンプションではありません。
- ウ誤り。タスクCはタスクBと同じ優先度なので,実行可能になってもタスクBの実行中のプリエンプションは発生しません。
- エ誤り。タスクDはタスクBより優先度が低いため,実行可能状態になってもタスクBを中断させることはありません。