OS でのプロセス スケジューリング: 長期、中期、短期スケジューラー

プロセススケジューリングとは何ですか?

プロセススケジューリング は、準備完了、待機中、実行中などのさまざまな状態のプロセスをスケジュールする OS タスクです。

プロセス スケジューリングにより、OS は各プロセスに CPU 実行の時間間隔を割り当てることができます。 プロセス スケジューリング システムを使用するもう XNUMX つの重要な理由は、CPU を常にビジー状態に保つことです。 これにより、プログラムの応答時間を最小限に抑えることができます。

プロセススケジューリングキュー

プロセス スケジューリング キューは、すべてのプロセス状態と PCB に対して個別のキューを維持するのに役立ちます。 同じ実行状態のプロセスはすべて同じキューに入れられます。 したがって、プロセスの状態が変更されるたびに、その PCB を既存のキューからリンク解除し、新しい状態キューに戻す必要があります。

オペレーティング システム キューには次の 3 つの種類があります。

  1. ジョブキュー – すべてのプロセスをシステムに保存するのに役立ちます。
  2. レディキュー – このタイプのキューは、メイン メモリに常駐するすべてのプロセスを設定し、実行の準備ができて待機するのに役立ちます。
  3. デバイスキュー – I/O デバイスがないためにブロックされたプロセスです。
プロセススケジューリングキュー
プロセススケジューリングキュー

上に示した図では、

  • 四角形はキューを表します。
  • 円はリソースを示します
  • 矢印は処理の流れを示します。
  1. 新しいプロセスはすべて、最初に Ready キューに入れられます。最終的に実行処理が完了するまで、Ready キューで待機します。 ここで、新しいプロセスは準備完了キューに入れられ、実行用に選択されるかディスパッチされるまで待機します。
  2. プロセスの XNUMX つが CPU に割り当てられ、実行されています
  3. プロセスは I/O リクエストを発行する必要があります
  4. その後、I/O キューに配置する必要があります。
  5. プロセスは新しいサブプロセスを作成する必要があります
  6. プロセスは終了を待っている必要があります。
  7. CPU から強制的に削除され、結果として割り込みが発生します。 割り込みが完了したら、レディキューに送り返す必要があります。

XNUMX 状態プロセス モデル

XNUMX 状態プロセス モデルは次のとおりです。

  • 実行状態
  • 非実行状態

Running:

Operaティンシステム、新しいプロセスが構築されるたびに、それは実行されているはずのシステムに入力されます。

走っていない

実行されていないプロセスはキューに保持され、実行される順番を待っています。 キュー内の各エントリは、特定のプロセスへのポイントです。

スケジュールの目標

ここでは、プロセス スケジューリングの重要な目的を示します。

  • 許容可能な応答時間内で対話型ユーザーの数を最大化します。
  • 応答と使用率のバランスを実現します。
  • 無期限の延期を避け、優先順位を徹底してください。
  • また、主要なリソースを保持するプロセスへの参照も提供する必要があります。

プロセス スケジューラの種類

スケジューラは、プロセスのスケジューリングを処理できるシステム ソフトウェアの一種です。

プロセス スケジューラには主に XNUMX つのタイプがあります。

  1. 長期スケジューラー
  2. 短期スケジューラー
  3. 中期スケジューラ

長期スケジューラー

長期スケジューラは、 ジョブスケジューラ。 このスケジューラはプログラムを制御し、キューからプロセスを選択し、実行のためにメモリにロードします。 また、マルチプログラミングの程度も制御します。

ただし、このタイプのスケジューラの主な目的は、プロセッサ、I/O ジョブなどのバランスの取れたジョブの組み合わせを提供し、マルチプログラミングの管理を可能にすることです。

中期スケジューラ

中期的なスケジュール設定は重要な部分です スワッピング。 これにより、スワップアウトされたプロセスを処理できるようになります。 このスケジューラでは、実行中のプロセスが一時停止され、I/O 要求が行われることがあります。

実行中のプロセスが I/O 要求を行うと、中断される可能性があります。 中断されたプロセスは完了に向けて進むことができません。 プロセスをメモリから削除し、他のプロセス用のスペースを確保するには、中断されたプロセスを二次ストレージに移動する必要があります。

短期スケジューラー

短期スケジューリングは、次のようにも呼ばれます。 CPUスケジューラ。 このスケジューラの主な目的は、設定された基準に従ってシステムのパフォーマンスを向上させることです。 これは、実行準備ができているプロセスのグループから選択し、そのうちの XNUMX つに CPU を割り当てるのに役立ちます。 ディスパッチャは、短期スケジューラによって選択されたプロセスに CPU の制御を与えます。

スケジューラの違い

長期 vs. 短期 vs. 中期

長期的 短期 中期
長期はジョブ スケジューラとも呼ばれます 短期は CPU スケジューラとも呼ばれます 中期はスワッピング スケジューラとも呼ばれます。
タイムシェアリング システムでは、それが存在しないか、最小限に抑えられます。 タイムシェアリングの順序では重要ではありません。 このスケジューラはタイムシェアリング システムの要素です。
短期スケジューラに比べて速度が遅くなります。 短期および中期スケジューラと比較して速度が最も速くなります。 中程度の速度を提供します。
ロードからプロセスを選択し、メモリにプールし直すことができます。 実行の準備完了状態にあるプロセスのみが選択されます。 プロセスをメモリに戻すのに役立ちます。
完全な制御を提供します 制御性が低下する マルチプログラミングのレベルを下げます。

コンテキストスイッチとは何ですか?

CPUの状態をPCBに保存/復元する方式です。これにより、後で同じ時点からプロセスの実行を再開できます。コンテキストスイッチ方式は、マルチタスクOSにとって重要です。

まとめ

  • プロセス スケジューリングは、準備完了、待機中、実行中などのさまざまな状態のプロセスをスケジュールする OS タスクです。
  • 1 状態のプロセス モデルは、XNUMX) 実行中、および )非実行です。
  • プロセスのスケジュール設定により、許容可能な応答時間内で対話型ユーザーの数が最大化されます。
  • スケジューラは、プロセスのスケジューリングを処理できるシステム ソフトウェアの一種です。
  • スケジューラには 1) 長期 2) 短期 3) 中期の XNUMX 種類があります。
  • 長期スケジューラはプログラムを調整し、キューからプロセスを選択し、実行のためにメモリにロードします。
  • 中期スケジューラを使用すると、スワップアウトされたプロセスを処理できます。
  • 短期スケジューラの主な目的は、設定された基準に従ってシステムのパフォーマンスを向上させることです。
  • 長期はジョブ スケジューラとも呼ばれ、短期はジョブ スケジューラとも呼ばれます。 CPUスケジューラ、中期はスワッピング スケジューラとも呼ばれます。