Table of Contents
プロセススケジューリングアルゴリズムは、オペレーティングシステムが複数のタスクの実行を管理するために使用されるメソッドです。 それらは、パフォーマンスとリソースの利用を最適化することを目的として、任意の時点で実行されるプロセスを決定します。 実際の例を使用して、これらのアルゴリズムが実用的なシナリオでどのように機能するかを明確にするのに役立ちます。
ファースト・カミー、ファースト・サーブ(FCFS)
このアルゴリズムは、到着した順番でプロセスをスケジュールします。 実装が簡単で簡単ですが、長いタスクが最初に到着したら、長い待ち時間につながることができます。
例えば、食料品店のチェックアウトラインでは、顧客が到着した注文で、彼らが持っているアイテムの数に関係なく、顧客に提供されます。 これにより、多くのアイテムが最初にラインに参加している場合は、少数のアイテムを持つ顧客のための遅延が発生することができます。
ラウンドロビン(RR)
このアルゴリズムは、各プロセスを固定時間スライスまたは量子を割り当てます。 プロセスは、キュー内でサイクルされ、公平なCPU時間の分布を保証します。
単一のコンピュータを共有する人のグループを想像してみてください。各人がセット期間のターンをします。人が自分の時間内に終了しない場合、彼らは別のターンのためのラインの後ろに行きます。このアプローチは、CPUを単価に任意のプロセスを防ぐ。
最短ジョブ 次へ (SJN)
このアルゴリズムは、最も短い実行時間でプロセスを選択します。平均待機時間を最小限に抑えますが、プロセスの期間の事前の知識が必要です。
迅速な質問が長い問題よりも優先されるカスタマーサービスセンターを検討してください。これにより、簡単なタスクの迅速な解決が保証されますが、複雑なケースの待ち時間が発生することがあります。
優先スケジュール
プロセスは優先順位を割り当てられ、スケジューラは実行する最高優先プロセスを選択します。 これは、優先的または非永続的であることができます。
病院では、定期的な検査の前に緊急症例が治療されます。優先度の高いタスクは迅速に対処されますが、優先順位が低いタスクは遅延が発生する可能性があります。
- フェアネス
- 効率性
- 責任の責任
- 複雑さ