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

テクノロジ系・一部改変

ア 各タスクの優先度を決めて,優先度が高い順に実行し,CPU 割当てまでの待ち時間の長さに応じて優先度を徐々に上げていく。

なぜ違う: エイジングにより待ち時間が長いほど優先度が上がるので、飢餓を防げる。

イ 各タスクを実行可能待ち行列に置かれた順に実行し,一定時間が経過したら実行を中断して実行可能待ち行列の最後尾に加える。

なぜ違う: ラウンドロビンで全タスクに順番が回るため、待ち続けることはない。

ウ 処理予定時間が最も短いタスクから順に処理を実行する。現在実行中の処理が終了するか,又は何らかの要因によって中断されたとき,次のタスクを開始する。
エ タスクがシステムに到着した順に実行可能待ち行列の最後尾に加え,常に実行可能待ち行列の先頭のタスクに CPU を割り当てる。

なぜ違う: FCFS(到着順)で必ず順番が来るため、飢餓は起きない。

正解: ウ

要点: 最短実行時間優先(SJF)は、長いタスクが後回しにされ続けて飢餓が起きやすい。

処理予定時間が短いタスクから実行する方式(最短ジョブ優先, SJF)は、短いタスクが次々割り込むことで、実行時間の長いタスクが CPU を割り当てられず待ち続ける(スタベーション)可能性が最も高い。エイジングで優先度を上げる方式やラウンドロビン、FCFS は飢餓を避けやすい。

この問題に出てくる用語

関連キーワード: スケジューリング・SJF・スタベーション

同じ回の前後の問題

テクノロジ系の他の問題

アプリで弱点分析つきの演習ができます

App Store

応用情報技術者の学習アプリ(応用情報トレ)

出典:令和6年度 秋期 応用情報技術者試験 午前 問16