「AP過去問 令和6年度春期 午前 問16」の版間の差分
編集の要約なし |
(→回答・解説) |
||
44行目: | 44行目: | ||
近年のOSは全てプリエンティブ方式のマルチタスク方式です。ノンプリエンティブのOSというのはMS-DOSの時代までさかのぼります。 | |||
2025年1月30日 (木) 01:02時点における最新版
AP過去問 令和6年度春期 午前 問15前の問題へ
AP過去問 令和6年度春期 午前 問17次の問題へ
問16(問題文)
ノンプリエンプティブ方式のタスクの状態遷移に関する記述として、適切なものはどれか。
ア OSは実行中のタスクの優先度を他のタスクよりも上げることによって、実行中のタスクが終了するまでタスクが切り替えられるのを防ぐ。
イ 実行中のタスクが自らの中断をOSに要求することによってだけ、OSは実行中のタスクを中断し、動作可能な他のタスクを実行中に切り替えることができる。
ウ 実行中のタスクが無限ループに陥っていることをOSが検知した場合、OSは実行中のタスクを終了させ、動作可能な他のタスクを実行中に切り替える。
エ 実行中のタスクより優先度が高い動作可能なタスクが実行待ち行列に追加された場合、OSは実行中のタスクを中断し、優先度が高い動作可能なタスクを実行中に切り替える。
回答・解説
アは間違いです。OSが実行中のタスクの優先度を上げることによって、タスクの切り替えを防ぐという説明は不適切。ノンプリエンプティブ方式では、そもそもOSが強制的にタスクを切り替えることがないため、優先度を上げる必要はない。
イは正しいです。ノンプリエンプティブ方式では、タスクが自発的にOSに制御を戻さない限り、OSはタスクを中断できない。つまり、実行中のタスクがOSに処理の中断を要求したときのみ、OSはタスクを切り替えることができる。この説明は ノンプリエンプティブ方式の基本ルール に合致しています。
ウは間違いです。OSが無限ループを検知して強制的にタスクを終了させる というのは、ノンプリエンプティブ方式ではあり得ない。ノンプリエンプティブ方式では、タスクが無限ループに陥ると、OSはタスクが自らCPUを手放さない限り制御を奪えないため、システムがハングする可能性がある。
エは間違いです。ノンプリエンプティブ方式では、実行中のタスクよりも優先度の高いタスクが待機していても、実行中のタスクが終了または自発的に中断するまでは切り替えられない。この動作はプリエンプティブ方式に該当する。
したがって
イ
が答えです。
近年のOSは全てプリエンティブ方式のマルチタスク方式です。ノンプリエンティブのOSというのはMS-DOSの時代までさかのぼります。
AP過去問 令和6年度春期 午前 問15前の問題へ
AP過去問 令和6年度春期 午前 問17次の問題へ