プロセッサのスケジュール - スケジューリングアルゴリズム

プロセッサのスケジュール - スケジューリングアルゴリズム

(FCFS)スケジューリングアルゴリズム最初-務め、先着順

コンセプト

そして、ユーザの業務に応じた処理は、注文を送信または準備完了状態が先着順に応じて、スケジューリングプロセスをキューに入れられたになる準備ができています。

公正

1.直感的な外観は、一般的な意味でのアルゴリズムは、公平です。それは、自分の仕事やプロセスに応じて、それぞれが、彼らがサービスへの優先アクセス与えられているかどうかを決定するために、時間の待ち行列長に待っている、である
彼らは意志、短い実行時間ジョブやプロセスの実行が一定時間ジョブや長いプロセスの後に到着した場合、しかし、2を長い時間を待ちます

ラウンドロビン

基本的な考え方

基本的な考え方は、レディキューの待ち時間に、各プロセスを持っていると時間に比例したサービスを享受することです

プロセス

CPU処理時間は、固定サイズのタイムスライスに分割されます。プロセスは、スケジュールを選択された後、タイムスライス規定のシステムから実行されますが、必要なタスクを完了しなかった場合、それは自身の自己占有CPUを解放し、次のスケジューリングを待って、レディキューの最後に排出されます。同時に、現在のスケジューリングプロセススケジューラは、キューまたはジョブに準備ができて最初のプロセスに行ってきました。

ラウンドロビンスケジューリングはリソースのみをつかむことができます

ラウンドロビンスケジューリングはリソースのみを先取りすることができます割り当てるために使用することができます。彼らは別のプロセスに再割り当てすることが任意の時間を奪います

例:

  • CPUリソースをつかむことです
  • しかし、プリンタや他のリソースとしてプリエンプトすることはできません

ラウンドロビンスケジューリングジョブが使用されていない:
すべてのシステムのハードウェアリソースへのジョブスケジューリング割り当てているので、ノンプリエンプティブなリソースを備えてCPUに加えて、それはラウンドロビンスケジューリングを使用していません

ラウンドロビン選択プロセスの問題

チップの長さの選択は直接応答時間とシステムのオーバーヘッドに影響を与えます

短すぎる問題:チップ長さが短すぎる場合、スケジューラは、プロセッサ欠乏の数を増加させます。これにより、システムのオーバーヘッドを増加させる、プロセスコンテキストも大幅に増加スイッチになります

ロング問題:選択されたタイムスロットの長さが長すぎる、例えば、タイムスライスは先着順方式になった所望の仕上げラウンドロビンを行うことができますレディキューの中で最長のコースの実施を確保することができている場合

:タイムスライスは、時間の要件を満たすように選択されているので、したがって、次の関係がある
Q = R / Nmaxを
R:Rのシステム応答時間の要件
数Nmax:レディキュープロセスの最大許容数Nmaxとは

対応関係:
レディキュー内のプロセスの数がNmaxよりもはるかに小さい場合、Qは、一定の場合においては、次に応答時間が大幅に短縮されるルックR
Qの2値が一定のプロセスコンテキストスイッチ時間に起因固定されていますシステムのオーバーヘッドが一定です。
3.CPU全体の実行時間は、各プロセスプラスオーバーヘッドの実行時間に等しいです。ケースの実行時間が大幅にプロセスに低減され、システムのオーバーヘッドも低減されている場合、その後、システムの応答時間は少し良くありそうです。

なぜタイムスライスpを変更することができます。

実行の過程で、準備プロセスキューは徐々に減少ので、タイムスライスがちょうど終了までのプロセスを許可するために割り当てられたときにたまたまちょうどプロセスに減少します

可変のタイムスライスのP値:

一つの可能​​なアプローチは、スケジューリング、システムはプロセスの数に応じてQの値を算出し、新規スケジュールとしてタイムスライスレディキューされているときはいつでも開始することです。

マルチレベルフィードバックラウンドロビン

レディキューラウンドロビンは3例を追加しました

1.与えるプロセスのタイムスライスは、最大使用されているが、プロセスは、継続するために、次のスケジュール実行のためのレディキュー待ちの最後にリターンを完了していません。
2.プロセスに割り当てられたタイムスライスは尽きませんが、要求I / Oや排他処理との同期関係によるものがブロックされているので。レディキューにブロック解除の復帰後。
新しいプロセスが実行可能待ち行列に入る作成3.。

準備理由で効率を向上させるために異なる優先順位を与えます

1.プロセスタイプに応じて、レディキューに到達したときにレディキューをブロックする理由と処理が異なるレディキューにブロックされ
FCFSの原理に記載の各キューは、異なる優先度を持つプロセス関連キューとの間に配置され、同じキュー同じ優先度レベル内で
そのタイムスライスの実装が完了した後の処理、またはスリープから目覚め、が作成されて3、別のレディキューを入力してください。

法の優先順位

コンセプト

動作のために特定の原理によって指定またはジョブまたはプロセス享受スケジューリング優先度を表す優先順位を処理

静的優先度

開始後にジョブまたはプロセス、あるいはその優先順位を決定するために開始したジョブの前に、プロセスの静特性に応じたstaticメソッドを変更することはできません

動的な優先順位

動的ジョブの方法またはプロセスの静特性とその優先順位を変更すること、ジョブまたは処理の実行に伴って、ジョブまたはプロセスの優先度を決定するために組み合わさ動的特性。

優先順位のルール

  1. ジョブの適切な優先順位の緊急性に応じてユーザー入力。すべてのユーザーを防ぐために、優先度の高いユーザーのためのより高い手数料、優先度の高いシステムの電荷を自分の仕事をダビングしています。
  2. 指定された優先順位またはジョブの種類に応じてシステムオペレータによって。ジョブタイプ(I / Oビジージョブ、CPU平衡でジョブCPUビジー、I / O操作、一般的な操作、等)は、一般に、ユーザによって合意又はオペレータによって指定されます。
  3. システムは、(プロセッサ時間は、メモリ・サイズ、I / Oデバイスの種類及び数量の量を必要)ジョブ要件のリソースの優先順位を決定します

静的優先度

システムプロセス対1ユーザプロセス

  • システムプロセスは、ユーザプロセスよりも高い優先順位を楽しみます

ユーザープロセス

  • I / O忙しいプロセス
  • CPU忙しいプロセス
  • I / OとCPUのバランスプロセス
  • その他のプロセス

システムプロセス:

  • スケジューリングプロセス
  • I / Oプロセス
  • 割り込み処理プロセス
  • ストレージ管理プロセスなど

静的優先度は、それがプロセスの優先順位2.ジョブに属して

動的な優先順位

1.決定プロセスの長さのCPU時間を占有する
処理プロセスをより長いは逆に、大きなを取得する可能性がスケジュールされ、より低い優先順位のスケジューリングで得られた後、再び遮断次いで、占有しました

  1. 意思決定・準備の過程の長さに応じてCPUの待機時間
    プロセスが長い準備レディキューに待機している時、それはスケジューリング優先順位の高いチェック取得

システムは常に、各プロセスの優先度を計算し、そのためのオーバーヘッドの一定の金額を支払う必要があるので、時間をかけて動的優先度の変更:問題を費やして優先順位付け

リニア優先スケジューリングポリシー

なぜリニア優先スケジューリング戦略の導入?

それは完全な作品に多くの時間がかかるため、レディ・キューの最後に新しいプロセスを解決することは、それは、長時間実行プロセスの公正の問題ではありません同じプロセッサ時間のスライスを楽しみます

問題を解決する方法

:2つのキューに分け
、新しく作成されたプロセス:FCFSの仕方で並んで新しいプロセスレディキュー作成するリニア優先スケジューリングポリシー
タイムスライスプロセスを楽しんでされている古いプロセス:他のプロセスのタイムスライスを提供してきたFCFSの仕方でもありますまたは別のキューがサービスキューを満喫する準備ができて並んで述べました

二つのプライオリティキュー


1.(> 0)増加の速度でプロセスのプロセス・キューの優先度の新しいセットを作成します。
増加した(> B> 0)、Bの速度でプロセスのサービスキューの優先度を享受するように設定2。

プロセスは、時刻t1で作成さ設けられ、処理時間tの優先度は、P(T)= A×(T-T1)(T1 <T <T1「)です。

このプロセスは、T1を提供した 'サービスを楽しむプロセスキュー時間に、処理時間tの優先度は、P(t)となる(T1'-T1)+ B×(T-T1×=')(T1 'を<T <T2「)

ときに新しいプロセスがどのくらいの時間の後に入るのを待っているサービスキューを享受するために作成されるのでしょうか?

1.新しいプロセスが最初の準備プロセスキューの優先度とプロセスの最後のレディキューの優先度でサービスへの平等なアクセスを作成したとき、プロセスの頭は、新しいキューを作成するプロセスは、サービスプロセスキューを楽しむために転送することができ
ています二つの関数が交差する場合、すなわち、P(T)は*(T-T2)=(T1'-T1)を= + B××(T1-T「)
2サービスへのアクセスのプロセスは、キューが空である場合と、新しいですキューのプロセスヘッドを作成するプロセスは、サービスプロセスキューを楽しむために移動されます

なぜ低いの成長率よりも、新しく作成されたプロセスの優先度プロセスBの増加のプライオリティキュー率を楽しみますか?

1.線形優先スケジューリング方法は、A> B> 0の条件が必要です。あなたは、サービスプロセスのキューは、常に一つのプロセスだけで楽しむことができるように、B>> 0、キュー内の異なる準備状態のプロセスの2つの優先度は、同じになることはありません。にリニア優先スケジューリングポリシーFCFSウェイバック

2.A> B = 0、すなわち、線形優先スケジューリングポリシーラウンドロビン・スケジューリング。線形優先スケジューリングポリシーは、ラウンドロビン・スケジューリング・ポリシーFCFS方式との間の中間形態であります

最短の仕事最初のアルゴリズム

最短時間を選択し、実行に入れ作業、それらにリソースを作成して割り当てる処理を実行するために必要な

利点

高スループット:直感的に、最短ジョブ優先スケジューリングアルゴリズムので、他のスケジューリング方法のスループットと同時にシステムで処理可能なジョブの最大数。

短所

ただし、バッチ・ジョブ・エントリのためのシステムがあった、それらの長い仕事を行うことが可能である最短の仕事第一の方法は、実行のためのチャンスを予定していない飽きないだろう

様々なスケジューリングアルゴリズムの性能評価

モードスケジュール応答時間FCFS 1.ラウンドロビン優れた
短い時間のために2.サービスの顧客のニーズ、ラウンドロビン時間<応答時間の優先順位リニア方式<応答は、応答時間FCFS
サービス顧客のために3を、応答時間が長い時間を必要とFCFS <応答時間リニア方式の優先順位<ラウンドロビンの応答時間

おすすめ

転載: www.cnblogs.com/mengxiaoleng/p/11891457.html