平成20年 春期 基本情報技術者 午前 問28

特定のタスクがCPU資源の割当てを待ち続ける可能性が高いタスクスケジューリング方式はどれか。

 ア  各タスクの優先順位を決めて、優先度が高い順に実行するが、CPU割当てまでの待ち時間の長さに応じて優先度を徐々に上げていく。
 イ  各タスクをCPU待ち行列におかれた状態で実行し、一定時間が経過したら実行を中断してCPU待ち行列の最後尾に加える。
 ウ  処理予定時間が最も短いタスクから処理を実行する。
現在実行中の処理が完結するか、又は何らかの原因によって中断されたとき、次のタスクを開始する。
 エ  タスクがシステムに到着した順に実行可能待ち行列の最後尾に加え、常に実行可能待ち行列の先頭のタスクにCPUを割り当てる。


答え ウ


解説

 ア  優先度が低いタスクであっても待ち時間が長くなると優先度が上がり、処理されるスケジューリング方法なので、資源の割当てを待ち続ける状態にならない。
 イ  優先度に関係なくタスクを待ち行列(キュー)をして、処理に時間のかかるものは処理途中で処理を中断して待ち行列の最後に加えるため、資源の割当てを待ち続ける状態にならない。(ラウンドロビンスケジューリング)
 ウ  処理予定時間の短いタスクから処理し、処理予定時間の短いタスクの処理が終わらないと処理予定時間の長いタスクが処理されないため、処理予定時間の短いタスクが次々と実行可能状態になると、処理予定時間の長いタスクが資源の割当てを待ち続ける状態になる。
 エ  すべての実行可能状態のタスクを待ち行列で管理する方法で、資源の割当てを待ち続ける状態にならない。(レートモノトニックスケジューリング)
非常にシンプルなスケジューリング方法であるが、処理時間の長いタスクがあると待ち時間が長くなるので、各タスクの設計時に注意を払う必要がある。


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

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

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

戻る 一覧へ 次へ