平成27年度秋期 応用情報技術者試験 午前 問16
プリエンプション方式のタスクスケジューリングにおいて,タスクBの実行中にプリエンプションが発生する契機となるのはどれか。ここで,タスクの優先度は,タスクAが最も高く,タスクA>タスクB=タスクC>タスクDの関係とする。
- ア タスクAが実行可能状態になった。
- イ タスクBが待ち状態になった。
- ウ タスクCが実行可能状態になった。
- エ タスクDが実行可能状態になった。
解答・解説を見る
正解:ア
AI解説
プリエンプションとは、実行中のタスクよりも優先度の高いタスクが実行可能状態になったとき、OSがCPUの使用権を強制的に取り上げて高優先度タスクに切り替えることである。優先度がタスクA>タスクB=タスクC>タスクDなので、タスクB実行中にプリエンプションが起きる契機は、より優先度の高いタスクAが実行可能状態になったときだけである。 ア: 正解。実行中のBより優先度が高いAが実行可能になると、CPUがAに奪われるプリエンプションが発生する。 イ: タスクBが待ち状態になるのはB自身による自発的なCPUの解放であり、強制的に奪うプリエンプションではない。 ウ: タスクCはBと同じ優先度なので、実行中のBからCPUを奪うことはない。 エ: タスクDはBより優先度が低いので、プリエンプションの契機にならない。 💡 プリエンプション=「横取り」。契機は常に「より高い優先度のタスクが実行可能状態になること」であり、自らの待ち状態への遷移(I/O待ちなど)とは区別する。
出典:平成27年度 秋期 応用情報技術者試験 午前 問16 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。