スケジューリングを理解する

CPUスケジューリングは、実行可能な複数タスクから次にCPUを使うものを選ぶ仕組みである。方式ごとの選択基準と、応答時間・待ち時間・公平性の違いを整理する。

この単元で学ぶこと

  • FCFSの意味と役割を説明できる
  • SJFの意味と役割を説明できる
  • ラウンドロビンの意味と役割を説明できる
  • スケジューリング方式と待ち時間・応答性の関係を比較できる

本文解説

FCFSは到着順、SJFは短い処理時間優先、ラウンドロビンは時間片で交代、優先度方式は設定優先度で選択する。プリエンプティブ方式では実行中タスクを中断して別タスクへCPUを渡せる。

FCFS 到着順にCPUを割り当てる先着順方式。 単純だが長いジョブが先頭に来ると後続が待たされる。

SJF CPU処理時間が短いと見積もられるジョブを優先する方式。 平均待ち時間を短くしやすいが実行時間の見積りが必要。

ラウンドロビン 一定の時間片ごとに実行権を交代する方式。 対話型処理で長い独占を防ぎやすい。

優先度方式 設定された優先度に基づいて次の実行主体を選ぶ方式。 低優先度が長時間待つ飢餓を防ぐ工夫が必要。

プリエンプション OSが実行中タスクを中断して別タスクへCPUを切り替えられる性質。 タイマ割込みなどを使って時間片を実現できる。

問題文の選択基準を読み、到着順・最短時間・時間片・優先度のどれかへ対応付ける。待ち時間計算ではガントチャートを描く。

全タスクが時刻0に到着しCPU時間がA=6,B=2,C=4ならSJFではB→C→Aとなり、待ち時間は0,2,6。

図解

CPUスケジューリング方式
到着順・短時間・時間片・優先度という選択基準を比較する。

重要ポイント

  • FCFS: 到着順にCPUを割り当てる先着順方式。
  • SJF: CPU処理時間が短いと見積もられるジョブを優先する方式。
  • ラウンドロビン: 一定の時間片ごとに実行権を交代する方式。
  • 優先度方式: 設定された優先度に基づいて次の実行主体を選ぶ方式。
  • 方式名を暗記するより、次に誰を選ぶルールを言葉で説明する。

間違えやすい点

  • SJFとラウンドロビンを混同しない。
  • 優先度方式で低優先度の飢餓が起こり得ることを忘れない。
  • 待ち時間とターンアラウンド時間を同一視しない。

用語解説

FCFS
到着順にCPUを割り当てる先着順方式。
SJF
CPU処理時間が短いと見積もられるジョブを優先する方式。
ラウンドロビン
一定の時間片ごとに実行権を交代する方式。
優先度方式
設定された優先度に基づいて次の実行主体を選ぶ方式。
プリエンプション
OSが実行中タスクを中断して別タスクへCPUを切り替えられる性質。

関連教材

参考資料

教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。

確認問題の出題・採点や学習履歴の保存にはログインが必要です。