0

コンボイ効果は主にFCFSスケジューリング アルゴリズムで定義され、スターベーションは優先度ベースのスケジューリングであるというスタベーション効果とコンボイ効果の唯一の違いはありますか?

両方の効果について調べましたが、比較が見つかりませんでした。これは、私が大学で学んだオペレーティング システム理論に基づいています。

4

1 に答える 1

3

飢餓とコンボイは両方のアルゴリズムで発生する可能性があります。最も単純な飢餓は、このループに入るタスクによってシミュレートできます (UDB でないことを願っています)。

while (1) {
}

FCFS では、このタスクが CPU を放棄することは決してないため、その背後にあるすべてのタスクは枯渇します。優先度ベースのシステムでは、この同じタスクが優先度の低いすべてのタスクを枯渇させます。

コンボイは、より一般的にはリソース競合の問題として認識できます。1 つのタスクにはリソース (cpu) があり、他のタスクはそれが完了するまで待機する必要があります。優先度ベースのシステムでは、これは、優先度の低いタスクが所有するリソースを必要とするため、優先度の高いタスクがブロックされる優先度の逆転で明らかになります。優先度の継承上限プロトコルなど、これらを軽減する方法があります。これらのメカニズムがない場合、リソースをめぐって競合するタスクは、fcfs の場合と同じようにコンボイを形成します。fcfs とは異なり、リソースをめぐって競合しないタスクは自由に実行できます。

応答性、スループット、および公平性という願望はしばしば相反するものです。これが、スケジューリングの問題に対する真の解決策がない理由の 1 つです。

于 2019-05-27T18:14:28.270 に答える