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

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

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


答え ウ


解説

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


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

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

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

戻る 一覧へ 次へ