スケジューリングを理解する
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。
図解
重要ポイント
- FCFS: 到着順にCPUを割り当てる先着順方式。
- SJF: CPU処理時間が短いと見積もられるジョブを優先する方式。
- ラウンドロビン: 一定の時間片ごとに実行権を交代する方式。
- 優先度方式: 設定された優先度に基づいて次の実行主体を選ぶ方式。
- 方式名を暗記するより、次に誰を選ぶルールを言葉で説明する。
間違えやすい点
- SJFとラウンドロビンを混同しない。
- 優先度方式で低優先度の飢餓が起こり得ることを忘れない。
- 待ち時間とターンアラウンド時間を同一視しない。
用語解説
- FCFS
- 到着順にCPUを割り当てる先着順方式。
- SJF
- CPU処理時間が短いと見積もられるジョブを優先する方式。
- ラウンドロビン
- 一定の時間片ごとに実行権を交代する方式。
- 優先度方式
- 設定された優先度に基づいて次の実行主体を選ぶ方式。
- プリエンプション
- OSが実行中タスクを中断して別タスクへCPUを切り替えられる性質。
関連教材
参考資料
教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。
確認問題の出題・採点や学習履歴の保存にはログインが必要です。