2.2プロセッサのスケジューリング

2.2.1スケジューリングの概念

1.スケジューリングの基本概念
マルチプログラミングシステムでは、プロセスの数がプロセッサの数よりも多いことが多いため、プロセスがプロセッサをめぐって競合することは避けられませんプロセッサスケジューリングとは、プロセッサを割り当てることです。つまり、プロセスの同時実行を実現するために、特定のアルゴリズム(公平かつ効率的)に従ってレディキューからプロセスを選択し、実行するプロセッサを割り当てます。

2.スケジューリングのレベル 高レベルのスケジューリングから低レベルのスケジューリングへの頻度は徐々に増加します
1)作业调度高度なスケジューリング
2)中级调度メモリスケジューリング機能は、メモリの使用率とシステムのスループットを改善し、一時的に実行できないプロセスを外部メモリに転送することです。この時点でプロセスが呼び出され挂起态、メモリが空いている場合は、実行条件のあるプロセスをメモリに転送し、状態を次のように変更します。就绪态
3)进程调度低レベルのスケジューリング 最基本,必不可少

2.2.2タイミング、ハンドオーバー、およびスケジューリングのプロセス


现代操作系统中,不能进行进程调度和切换的情况有以下几种:
1)処理の中断の過程で
2)プロセスはオペレーティング・システム カーネルの重要なセクション 普通临界区可以进程调度
3)割り込みを完全にシールドする必要があるその他のアトミック操作


应当进行进程调度和切换的情况如下:
1)スケジューリング条件が発生し、現在のプロセスを実行し続けることができない場合、スケジューリングと切り替えを実行できます。この場合、システムがスケジューリングと切り替えを実行すると、非剥奪スケジューリング。
2)割り込み処理が終了するか、トラップ処理が終了します。

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

1.非剥奪スケジューリング方式(非プリエンプティブ)は、より重要または緊急のプロセスが準備完了キューに入った場合でも、プロセスが完了するか、特定のイベントがブロッキング状態になるまで、実行中のプロセスを実行し続けます。プロセッサ。シンプルでシステムのオーバーヘッドが少なく、ほとんどのバッチ処理システムに適しています 不适合分时系统和大多数实时系统。

2.剥奪スケジューリング方法(プリエンプティブ)プロセッサを使用する必要があるより重要または緊急のプロセスがある場合、実行中のプロセスはただちに中断され、プロセッサはこのより重要または緊急のプロセスに割り当てられます。剥奪スケジューリングを使用して、システムのスループットと応答効率を改善することには明らかな利点があります。

2.2.4スケジューリングの基本原則

スケジューリングアルゴリズムが異なれば特性も異なります。スケジューリングアルゴリズムを選択する際には、アルゴリズムの特性を考慮する必要があります。スケジューリングアルゴリズムのパフォーマンスを比較するための評価指標は次のとおりです
。1)CPU使用率。CPUは、コンピューターシステムで最も重要で高価なリソースの1つであるため、このリソースを最大限に活用するには、CPUを可能な限り「ビジー」に保つ必要があります。

利用率=忙碌的时间/总时间

2)システムスループット。==は、CPUが単位時間に完了したジョブの数を示します。==長いジョブはより長いプロセッサ時間を消費する必要があるため、システムのスループットが低下します。短いジョブの場合、消費するプロセッサ時間が少なくてすむため、システムのスループットを向上させることができます。さまざまなスケジューリングアルゴリズムと方法も、システムのスループットに大きな影響を与えます。

3)所要時間。ターンアラウンドタイムとは、ジョブの送信からジョブの完了までの時間を指します。これは、ジョブの待機、レディキューでのキューイング、プロセッサでの実行、および入力操作と出力操作の実行に費やされた時間の合計です。

作业的周转时间可用公式表示如下:


带权周转时间 = 作业周转时间/作业实际运行时间


周转时间 = 作业完成时间-作业提交时间

平均周转时间 = (作业1的周转时间+..+作业n的周转时间)/n

带权周转时间 = 作业周转时间/作业实际运行时间

平均带权周转时间 = (作业1的带权周转时间+...+作业n的带权周转时间)/n

4)待機時間。待ち時間とは进程处于等处理机状态的时间之和待ち時間が長くなるほど、ユーザーの満足度
は低くなります
したがって、5)応答時間。応答時間は衡量一个调度算法的优劣,常常只需简单地考察等待时间。
从用户提交请求到系统首次产生响应所用的时间。

2.2.5一般的なスケジューリングアルゴリズム

1.先着順(FCFS)スケジューリングアルゴリズム
ジョブスケジューリングとプロセススケジューリングに使用できます。
ここに写真の説明を挿入

2.ショートジョブプライオリティ(SJF)スケジューリングアルゴリズム

ここに写真の説明を挿入

3.優先スケジューリングアルゴリズム优先级用于描述作业运行的紧迫程度
ジョブスケジューリングとプロセススケジューリングに使用できます

剥奪できるかどうかによって、次の2つのタイプに分けることができます
。1)非剥奪優先スケジューリングアルゴリズム
2)剥奪優先スケジューリングアルゴリズム

プロセスの優先度に応じて
1)システムプロセス>ユーザープロセス
2)I / Oプロセス>コンピューティングプロセス
3)インタラクティブプロセス>非インタラクティブプロセス

4.高応答率優先スケジューリングアルゴリズム
主にジョブスケジューリングに使用されます
ここに写真の説明を挿入

5.タイムスライスラウンドロビンスケジューリングアルゴリズム 主要适用于分时系统

システムは、到着時間の順序に従ってすべてのプロセスをキューに配置しますが、(先来先服务的原则)1つのタイムスライスの後、1つのタイムスライスに対してのみ実行できます。プロセスが完了していなくても、プロセッサを解放する必要があります被剥夺次の準備ができたプロセスを与える奪われたプロセスは、レディキューの末尾に戻り、再キューイングします。

若时间片选择的足够大,时间片轮转法退化为先来先服务算法

6.マルチレベルフィードバックキュースケジューリングアルゴリズム(以前のアルゴリズムの利点を組み合わせたもの)抢占式调度算法
タイムスライスローテーション方式と優先スケジューリング方式の総合開発
ここに写真の説明を挿入
1)複数の準備完了キューを設定し、異なる優先順位を割り当てます。最初のレベルが最高で、2番目のレベルが2番目です。
2)キュー内のプロセスに与えられる実行タイムスライスのサイズが異なります。優先度の高いキュータイムスライスが小さい (第二级队列的时间片是第一级时间片的两倍,第三级时间片的大小是第二级时间片大小的两倍)
3)新しいプロセスがメモリに入った、最初にそれを第1レベルのキューの最後に置きます。****按FCFS等待调度実行するプロセスの順番になると、タイムスライス内に完了できる場合は、システムを撤回できます。完了できない場合は、第2レベルのキューの最後にジャンプします。
4)第1レベルのキューが空の場合にのみ、スケジューラーは第2レベルのキューでプロセスをスケジュールします

マルチレベルフィードバックキューの利点は次のとおりです
。1) 2)ターンアラウンドタイムが短い3)前のキューの後の部分的な実行が長時間処理されないことはありません短作业优先

例题


ここに写真の説明を挿入
ここに写真の説明を挿入


ここに写真の説明を挿入
ここに写真の説明を挿入


ここに写真の説明を挿入
ここに写真の説明を挿入


ここに写真の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_38220799/article/details/109081847