令和6年度 秋期 午前 問16
ソフトウェア
タスクに関する問題
タスクスケジューリング方式の説明のうち,特定のタスクが CPU 資源の割当てを待ち続ける可能性が最も高いものはどれか。
- ア各タスクの優先度を決めて,優先度が高い順に実行し,CPU 割当てまでの待ち時間の長さに応じて優先度を徐々に上げていく。
- イ各タスクを実行可能待ち行列に置かれた順に実行し,一定時間が経過したら実行を中断して実行可能待ち行列の最後尾に加える。
- ウ処理予定時間が最も短いタスクから順に処理を実行する。現在実行中の処理が終了するか,又は何らかの要因によって中断されたとき,次のタスクを開始する。
- エタスクがシステムに到着した順に実行可能待ち行列の最後尾に加え,常に実行可能待ち行列の先頭のタスクに CPU を割り当てる。
答えと解説を見る
✓ これが正解ウ処理予定時間が最も短いタスクから順に処理を実行する。現在実行中の処理が終了するか,又は何らかの要因によって中断されたとき,次のタスクを開始する。
解説
短い順に選び続けると長い仕事が残ります。
設問は、四つのタスクスケジューリング方式のうち、特定のタスクが CPU 資源の割当てを待ち続ける可能性が最も高いものを選ばせています。見分けの軸は、待っているタスクにいつか番が回ることを保証する仕組みが備わっているかどうかの一点です。番が保証されていれば、待ち時間が長く伸びることはあっても、割当てはいずれ必ず訪れます。逆に、次に動かすものを選ぶ基準が処理予定時間の短さだけで、どれだけ待ったかが基準に入っていない方式では、短いタスクが次々に到着するかぎり、長いタスクはいつまでも選ばれません。正解は、処理予定時間が最も短いタスクから順に処理を実行する方式です。この方式は待ち時間の平均を小さくできる一方で、長いタスクにとっては番が回る保証がなく、後回しが際限なく続きます。
ほかの選択肢はなぜ違うのか
- ア各タスクの優先度を決めて,優先度が高い順…:優先度が高い順に実行し、CPU 割当てまでの待ち時間の長さに応じて優先度を徐々に上げていく方式です。待つほど順位が上がる仕組みが入っているので、長く待ったタスクはいずれ先頭に来ます。
- イ各タスクを実行可能待ち行列に置かれた順に…:実行可能待ち行列に置かれた順に実行し、一定時間が経過したら実行を中断して最後尾に加える方式です。全てのタスクへ順ぐりに番が回るため、割当てを待ち続けることにはなりません。
- エタスクがシステムに到着した順に実行可能待…:タスクが到着した順に実行可能待ち行列の最後尾へ加え、常に先頭のタスクに割り当てる方式です。行列は前へ進む一方なので、待ち時間が伸びることはあっても番は確実に訪れます。
出典:令和6年度 秋期 応用情報技術者試験 午前 問16
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)