タスクスケジューリング|科目A-1(応用情報技術者) 令和6年 秋期午前試験 問16

出典:令和6年秋期 午前 問16 分野:ソフトウェア / オペレーティングシステム
タスクスケジューリング方式の説明のうち,特定のタスクがCPU資源の割当てを待ち続ける可能性が最も高いものはどれか。
  • ア:各タスクの優先度を決めて,優先度が高い順に実行し,CPU割当てまでの待ち時間の長さに応じて優先度を徐々に上げていく。
  • イ:各タスクを実行可能待ち行列に置かれた順に実行し,一定時間が経過したら実行を中断して実行可能待ち行列の最後尾に加える。
  • ウ:処理予定時間が最も短いタスクから順に処理を実行する。現在実行中の処理が終了するか,又は何らかの要因によって中断されたとき,次のタスクを開始する。
  • エ:タスクがシステムに到着した順に実行可能待ち行列の最後尾に加え,常に実行可能待ち行列の先頭のタスクにCPUを割り当てる。
応用情報技術者
解説

処理予定時間が最も短いタスクを優先する方式では、短いタスクが次々に到着すると、処理時間の長いタスクが後回しにされ続ける可能性があります。そのため、特定のタスクがCPU資源の割当てを待ち続ける可能性が最も高くなります。

したがって、が適切です。

❌他選択肢が誤りの理由
ア:各タスクの優先度を決めて,優先度が高い順に実行し,CPU割当てまでの待ち時間の長さに応じて優先度を徐々に上げていく。
⇒エージングの考え方を取り入れた優先度方式です。待ち時間が長くなるほど優先度を上げるため、スタベーションを防ぎやすくなります。
イ:各タスクを実行可能待ち行列に置かれた順に実行し,一定時間が経過したら実行を中断して実行可能待ち行列の最後尾に加える。
⇒ラウンドロビン方式の説明です。各タスクに一定時間ずつCPUを割り当てるため、特定のタスクだけが待ち続ける可能性は低くなります。
エ:タスクがシステムに到着した順に実行可能待ち行列の最後尾に加え,常に実行可能待ち行列の先頭のタスクにCPUを割り当てる。
⇒到着順に処理するFCFS(First Come First Served)方式です。順番が来ればCPUが割り当てられるため、原則として特定のタスクが無期限に待ち続けることはありません。
TSUNAGARU-ADVICE

まず押さえたいこと

特定のタスクが長時間CPUを割り当てられない状態をスタベーションといいます。処理予定時間が短いタスクを優先する方式では、短いタスクが次々に到着すると、長いタスクが後回しにされ続ける可能性があります。

迷ったときの判断軸

待ち時間に応じて優先度を上げる方式はエージングによってスタベーションを防ぎます。一定時間ごとに交代する方式はラウンドロビンで、各タスクに順番が回ります。到着順に処理するFCFSでも先に並んだタスクは順番に実行されます。

科目Bにつなげるために

特にプロフェッショナルデジタルスキル(システム)試験合格を目指す方は、スケジューリング方式ごとの公平性と応答性の違いを整理しましょう。SJFは平均待ち時間を短くしやすい一方、長いタスクのスタベーションが起こり得る点が重要です。