2024年 春期 応用情報技術者 午前 問16

ノンプリエンプティブ方式のタスクの状態遷移に関する記述として、適切なものはどれか。

 ア  OSは実行中のタスクの優先度を他のタスクよりも上げることによって、実行中のタスクが終了するまでタスクが切り替えられるのを防ぐ。
 イ  実行中のタスクが自ら中断をOSに要求することによってだけ、OS[は「実行中のタスクを中断し、動作可能な他のタスクを実行中に切り替えることができる。
 ウ  実行中のタスクが無限ループに陥っていることをOSが検知した場合、OSは実行中のタスクを終了させ、動作可能な他のタスクを実行中に切り替える。
 エ  実行中のたすきより優先度が高い動作可能なタスクが実行待ち行列に追加された場合、OSは実行中のタスクを中断し、優先度が高い動作可能jなタスクを実行中に切り替える。


答え イ


解説

 ア  OSは実行中のタスクの優先度を他のタスクよりも上げることによって、実行中のタスクが終了するまでタスクが切り替えられるのを防ぐ機能を持ったOS(Linuxのreniceなど)はあります。(×)
 イ  実行中のタスクが自ら中断をOSに要求することによってだけ、OS[は「実行中のタスクを中断し、動作可能な他のタスクを実行中に切り替えることができるのは、ノンプリエンプティブ方式です。(〇)
 ウ  実行中のタスクが無限ループに陥っていることをOSが検知した場合、OSは実行中のタスクを終了させ、動作可能な他のタスクを実行中に切り替えるような機能を持ったゲームエンジンがあります。(×)
 エ  実行中のたすきより優先度が高い動作可能なタスクが実行待ち行列に追加された場合、OSは実行中のタスクを中断し、優先度が高い動作可能jなタスクを実行中に切り替えるのは、プリエンプティブ方式です。(×)


キーワード
・スケジューリング

キーワードの解説
  • スケジューリング
    マルチタスクOSやマルチプロセッシング(マルチプロセス)OS、RTOS(Real Time OS)などで、CPU資源をどのタスク(プロセス)に割り当てるかを決める方法で、スケジューリングの方法でシステムの性能に大きく影響するOSの最重要部分です。
    タスク(プロセス)には、通常実行可能状態になったら即処理しなければいけないものと、多少は処理するまでに待ってもよいものがあるので、スケジューリングはこういったタスクに優先度を設け、優先度の高いものから処理を行うようにする。ただし、優先度の低いものが長時間処理されないような状態にならないようにするための工夫が必要である。

もっと、「スケジューリング」について調べてみよう。

戻る 一覧へ 次へ