令和6年度 春期 応用情報技術者試験 午前 問16
【問題16】
ノンプリエンプティブ方式のタスクの状態遷移に関する記述として,適切なものはどれか。
OSは実行中のタスクの優先度を他のタスクよりも上げることによって,実行中のタスクが終了するまでタスクが切り替えられるのを防ぐ。
実行中のタスクが自らの中断をOSに要求することによってだけ,OSは実行中のタスクを中断し,動作可能な他のタスクを実行中に切り替えることができる。
実行中のタスクが無限ループに陥っていることをOSが検知した場合,OSは実行中のタスクを終了させ,動作可能な他のタスクを実行中に切り替える。
実行中のタスクより優先度が高い動作可能なタスクが実行待ち行列に追加された場合,OSは実行中のタスクを中断し,優先度が高い動作可能なタスクを実行中に切り替える。
【解説】
ア: OSは実行中のタスクの優先度を他のタスクよりも上げることによって,実行中のタスクが終了するまでタスクが切り替えられるのを防ぐ。
誤り。ノンプリエンプティブ方式では、そもそもタスクが自ら終了または中断するまで実行が継続されるため、優先度の変更は切り替えに影響しません。
イ: 実行中のタスクが自らの中断をOSに要求することによってだけ,OSは実行中のタスクを中断し,動作可能な他のタスクを実行中に切り替えることができる。
正しい。ノンプリエンプティブ方式では、実行中のタスクが自発的に終了または中断しない限り、OSはタスクを切り替えることができません。
ウ: 実行中のタスクが無限ループに陥っていることをOSが検知した場合,OSは実行中のタスクを終了させ,動作可能な他のタスクを実行中に切り替える。
誤り。ノンプリエンプティブ方式ではOSがタスクを強制終了して切り替えるような処理は行いません。
エ: 実行中のタスクより優先度が高い動作可能なタスクが実行待ち行列に追加された場合,OSは実行中のタスクを中断し,優先度が高い動作可能なタスクを実行中に切り替える。
誤り。これはプリエンプティブ方式における動作であり、ノンプリエンプティブ方式には該当しません。
【答え】
イ: 実行中のタスクが自らの中断をOSに要求することによってだけ,OSは実行中のタスクを中断し,動作可能な他のタスクを実行中に切り替えることができる。
出典:令和6年度 春期 応用情報技術者試験 午前 問16