Table of Contents
プロセスの実行を効率的に管理するために、アルゴリズムをスケジューリングすることは必須です。 それらは、プロセスがCPU時間割り当てられている順番を決定し、システムの性能と応答性に影響を与えます。 この記事では、最初のカオ、First-Served(FCFS)、最短ジョブファースト(SJF)、およびRound Robinの3つの一般的なアルゴリズムを比較し、その違いを説明する計算を行います。
ファースト・カミー、ファースト・サーブ(FCFS)
FCFSは、到着した順番でプロセスをスケジュールします。シンプルですが、より短いプロセスの待ち時間につながることができます。
例: 破裂時5、3、8の処理が順次到着します。ガントチャートは、待ち時間と納期の実行順と計算を示します。
計算:
- プロセス1:待ち時間=0、ターンアラウンド時間=5
- プロセス2:待ち時間=5、ターンアラウンド時間=8
- プロセス3:待ち時間=8、ターンアラウンド時間=16
最短勤務先 先着順(SJF)
SJFは、次の最小のバースト時間でプロセスを選択します。 平均待機時間を最小限に抑えますが、事前にプロセスの所要時間の知識が必要です。
同じプロセスを使用して、SJFは3、5、そして8単位としてそれらをスケジュールし、別の待ち時間に導く。
計算:
- プロセス2:待ち時間=0、ターンアラウンド時間=3
- プロセス1:待ち時間=3、ターンアラウンド時間=8
- プロセス3:待ち時間=8、ターンアラウンド時間=16
ラウンドロビンスケジューリング
ラウンドロビンは、各プロセスを一定の時間スライスまたは量子を割り当てます。 プロセスは、完了までサイクル化され、公平性と応答性を促進します。
2単位の量子を想定し、サイクル内でのプロセスをスケジュールし、計算は、実行時間と待機期間に基づいて行われます。
プロセス完了時間と待ち時間に関する計算例は以下の通りです。
- プロセス1:待ち時間=4、ターンアラウンド時間=9
- プロセス2:待ち時間=2、ターンアラウンド時間=5
- プロセス3:待ち時間=8、ターンアラウンド時間=16