オペレーティング システムの期末レビュー - クラス 3 プロセッサ スケジューリング (1)

1. プロセッサスケジューリングの基本概念

1. 基本原則

スケジューリング アルゴリズムにはそれぞれ異なる特性があるため、スケジューリング アルゴリズムを選択する際には、アルゴリズムの特性を考慮する必要があります。プロセッサ スケジューリング アルゴリズムのパフォーマンスを比較するために、多くの評価基準が提案されていますが、主なものを以下に紹介します。
(1) CPU 使用率
CPU はコンピュータ システム内で最も重要で高価なリソースの 1 つであるため、CPU は、 「ビジー」状態を維持すると、このリソースが最大限に活用されます。
(2) システム スループット (単位時間あたりに CPU によって完了されるジョブの数を表します)。
長いジョブでは長いプロセッサ時間を消費する必要があるため、システムのスループットが低下します。短いジョブでは、消費するプロセッサ時間は少なくて済みます。 . 短いため、システムのスループットを向上させることができます。
スケジューリングのアルゴリズムと方法の違いも、システムのスループットに大きな影響を与えます。
(3) ターンアラウンドタイム
ターンアラウンドタイムとは、ジョブを投入してからジョブが完了するまでの待機時間、レディキューへのキューイング時間、プロセッサ上での実行時間、入出力操作の実行時間の合計です。
A. ジョブの所要時間は次のように表すことができます。
所要時間 = ジョブの完了時間 - ジョブの送信時間
B. 平均所要時間 = (ジョブ 1 の所要時間 + ... + ジョブ n の所要時間) / n
C加重ターンアラウンドタイム ジョブの実際の実行時間に対するジョブのターンアラウンドタイムの​​割合を指します
加重ターンアラウンドタイム = ジョブのターンアラウンド時間/実際のジョブの実行時間
(4) 待ち時間 待ち時間
とは、ジョブの実行時間の合計を指します。
(5) 応答時間応答時間とは、ユーザーがリクエストを送信してから
システムが最初の応答を返すまでにかかる時間です。対話型システムでは、応答時間は最良の評価基準にはなり得ず、一般に応答時間はスケジュールの尺度として使用されますアルゴリズムの重要な原則の 1 つ

2. 3つのレベル

サブミットから完了まで、ジョブは多くの場合、次の 3 レベルのスケジューリングを経る必要があります。
(1) ジョブ スケジューリング。高度なスケジューリングとも呼ばれます。その主なタスクは、バックアップ状態にあるジョブから 1 つ (または複数) を選択することです。外部メモリを特定の原則に従ってジョブに割り当て、メモリや入出力デバイスなどの必要なリソースをジョブに割り当て、対応するプロセスを確立して、プロセッサをめぐって競争する権利を獲得します。
(2) メモリ スケジューリングとも呼ばれる中間スケジューリングは、メモリ使用率とシステム スループットを向上させるために使用されます。このため、一時的に実行できなくなったプロセスは外部メモリに転送して待機する必要があり、このときのプロセスの状態をサスペンド状態と呼びます。実行準備が整い、メモリに少し空きがあると、中間スケジューリングは、外部メモリ上で実行準備ができている準備完了プロセスを再びメモリに転送し、そのステータスを準備完了状態に変更して、準備完了状態でハングアップすることを決定します。列に並んで待ちます。
(3) プロセス スケジューリングは、低レベル スケジューリングとも呼ばれ、その主なタスクは、特定の方法と戦略に従ってレディ キューからプロセスを選択し、それにプロセッサを割り当てることです。プロセスのスケジューリングは、一般的なオペレーティング システムで構成する必要がありますプロセスのスケジューリングの頻度は非常に高く、通常は数十ミリ秒ごとです。

3. プロセスのスケジューリング方法

いわゆるプロセス スケジューリング方法とは、プロセッサ上でプロセスが実行されているときに、処理する必要があるより重要または緊急のプロセスがある場合、つまり、優先度の高いプロセスがレディ キューに入る場合、プロセッサはどのように処理すべきかを指します。この時点で割り当てられますか? 通常、プロセス スケジューリングには次の 2 つの方法があります。
(1) ノンプリエンプティブ スケジューリング。ノンプリエンプティブとも呼ばれます。非剥奪スケジューリングとは、プロセッサ上でプロセスが実行されているときに、より重要または緊急のプロセスが準備完了キューに入った場合でも、プロセスが完了するか、キューに入る何らかのイベントが発生するまで、実行中のプロセスが実行を継続することを意味します。ブロッキング状態では、プロセッサはより重要なプロセスまたは緊急のプロセスに割り当てられます。
(2) 剥奪スケジューリング方式。プリエンプション方式とも呼ばれます。プリエンプティブ スケジューリングの使用には、システムのスループットと応答効率の向上において明らかな利点があります。ただし、「剥奪」は任意の動作ではなく、主に優先順位、短いプロセスの優先順位、タイム スライスの原則など、特定の原則に従う必要があります。

2. スケジューリング アルゴリズム - 先着順アルゴリズム (FCFS アルゴリズム)

1. アルゴリズムのルール。
先着順サーバー アルゴリズム (先着順サーバー、FCFS) は、
ジョブ/プロセスを到着順にスケジュールします。
2. 適用条件。ジョブのスケジューリングとプロセスのスケジューリングの両方に使用できます。
3. 長所と短所。
利点: アルゴリズムの実装は簡単です。
短所: 長時間のジョブには適していますが、短時間のジョブには適していません。

3. スケジューリング アルゴリズム - ショート ジョブ ファースト アルゴリズム (SJF アルゴリズム)

1. アルゴリズムのルール。
ショート ジョブ ファースト スケジューリング アルゴリズム (ショート ジョブ ファースト、SJF) は、
ジョブの長さに基づいて優先度を計算し、ジョブが短いほど優先度が高くなります。
2. 適用条件。ジョブのスケジューリングとプロセスのスケジューリングの両方に使用できます。
3. 長所と短所。
長所: 平均待ち時間と平均所要時間は「最短」です。
欠点: A. ジョブの実行時間を最初に知る必要があります。
B. 長時間の仕事には不利であり、空腹感が現れます。
C. 任務の緊急性を考慮していない。

4. スケジューリングアルゴリズム - 優先アルゴリズム

1. アルゴリズムのルール。
優先アルゴリズム(優先スケジューリングアルゴリズム)は、
プロセス(ジョブ)の緊急度に基づいて、外部からプロセスに対応する優先度を与え、その優先度に応じてスケジューリングを行うものである。
2. 適用条件。ジョブのスケジューリング、プロセスのスケジューリング、さらには I/O のスケジューリングにも使用できます。
3. タイプ
プリエンプティブ優先順位スケジューリング アルゴリズム:
より高い優先順位を持つ別のプロセスが出現する限り、スケジューリングは変更されます。
非プリエンプティブ優先スケジューリング アルゴリズム: 自発的に放棄します。
4. 優先順位の種類
A. 静的優先順位: プロセスの作成時に決定され、プロセスの実行期間全体を通じて変更されません。
B. 動的優先度: プロセスの作成の開始時に、まずプロセスに優先度を割り当て、次に優先度を動的に調整します。
5. 長所と短所
長所: 優先度を使用して緊急性を区別し、リアルタイム OS に適用します。
短所: スタベーション (優先度の低いプロセスのスタベーション) が発生する可能性があります。
ここに画像の説明を挿入ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_52030647/article/details/130610947
おすすめ