基本情報技術者試験 2015年度 = 平成27年度・春期 午前 問19

 ノンプリエンプティブなスケジューリング方式の説明として、適切なものはどれか。

ア 新しいタスクが実行可能状態になるたびに、各タスクの残りの実行時間を評価し、その時間が短いものから順に実行する。
イ 実行状態としたタスクが決められた時間内に待ち状態に遷移しないときに、そのタスクを中断して実行待ち行列にある次のタスクを実行状態とする。
ウ 実行状態としたタスクが自ら待ち状態に遷移するか終了するまで、他のタスクを実行状態とすることができない。
エ タスクが実行可能状態になったときに、そのタスクの優先度と、その時、実行状態であるタスクの優先度とを比較して、優先度が高い方のタスクを実行状態とする。

解答



解説

 ノンプリエンプティブ方式では、実行中のタスクよりも優先順位の高いタスクが実行可能状態になった場合などに、実行中のタスクを中断してその優先順位の高いタスクを実行するプリエンプションを行うことなく処理を続行します。

 新しいタスクが実行可能状態になるたびに、各タスクの残りの実行時間を評価し、その時間が短いものから順に実行するのは、残り処理時間順方式であり、プリエンプティブな方式です。
※ノンプリエンプティブな方式である処理時間順方式と混同しないようにしましょう。

 実行状態としたタスクが決められた時間内に待ち状態に遷移しないときに、そのタスクを中断して実行待ち行列にある次のタスクを実行状態とするのは、ラウンドロビンであり、プリエンプティブな方式です。

 実行状態としたタスクが自ら待ち状態に遷移するか終了するまで、他のタスクを実行状態とすることができないのが、ノンプリエンプティブ方式です。

 タスクが実行可能状態になったときに、そのタスクの優先度と、その時、実行状態であるタスクの優先度とを比較して、優先度が高い方のタスクを実行状態とするのは、プリエンプティブな方式です。



BohYoh.comトップページへ