平成24年度 秋期 午前 問17
ソフトウェア
タスクスケジューリングの問題
タスクスケジューリング方式の説明のうち,特定のタスクが CPU 資源の割当てを待ち続ける可能性が最も高いものはどれか。
- ア各タスクの優先度を決めて,優先度が高い順に実行し,CPU 割当てまでの待ち時間の長さに応じて優先度を徐々に上げていく。
- イ各タスクを実行可能待ち行列に置かれた順に実行し,一定時間が経過したら実行を中断して実行可能待ち行列の最後尾に加える。
- ウ処理予定時間が最も短いタスクから順に処理を実行する。現在実行中の処理が終了するか,又は何らかの要因によって中断されたとき,次のタスクを開始する。
- エタスクがシステムに到着した順に実行可能待ち行列の最後尾に加え,常に実行可能待ち行列の先頭のタスクに CPU を割り当てる。
答えと解説を見る
✓ これが正解ウ処理予定時間が最も短いタスクから順に処理を実行する。現在実行中の処理が終了するか,又は何らかの要因によって中断されたとき,次のタスクを開始する。
解説
処理時間が短い順に選ぶ方式は長い処理が後回しです。
タスクスケジューリングの方式を比べるときの軸は一つで、順番を待っているタスクに、いつか必ず番が回ってくる仕掛けが備わっているかどうかです。待たされた分だけ扱いを良くしていく、あるいは決まった順に必ず一巡させるといった仕掛けがあれば、どのタスクもいずれは実行されます。反対に、これから必要になる時間の短さだけを手掛かりに選び続ける方式には、その仕掛けがありません。短い処理が次々に到着している間は、時間のかかる処理はいつまでも選ばれないままです。実行中のものが終わるたび、また短いほうが選ばれてしまうからです。割当てを待ち続ける状態が最も起こりやすいのは、この選び方をする方式です。
ほかの選択肢はなぜ違うのか
- ア各タスクの優先度を決めて,優先度が高い順…:待たされた時間が長くなるほど扱いを良くしていく方式です。後回しにされたタスクほど選ばれやすくなっていくので、いつかは順番が回ってきます。
- イ各タスクを実行可能待ち行列に置かれた順に…:決まった時間で区切っていったん中断し、実行可能待ち行列の最後尾に回す方式です。並んでいるものを順ぐりに動かすので、特定のタスクだけが取り残されることはありません。
- エタスクがシステムに到着した順に実行可能待…:到着した順に列へ並べ、常に先頭のものへ割り当てる方式です。追い越しが起きないので、いったん並んだタスクは必ず自分の番を迎えられます。
出典:平成24年度 秋期 基本情報技術者試験 午前 問17
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)