回答:
コンボイ効果は、先着順(FCFS)スケジューリングアルゴリズムを使用した結果です。この場合、ディスパッチャー(短期スケジューリング)は、準備完了状態にあるプロセスをFIFO方式でプロセッサーに供給します。これは基本的にQueueの単純な実装です。最初に来るプロセスは、最初にプロセッサを使用します。
これは非プリエンプティブポリシーを実装しているため、プロセスが実行を開始すると、タスクが完了するか、致命的なエラーやI / Oの必要によりOSによってブロックされない限り、プロセスは停止しません。その背後にあるプロセスを妨害します。CPUの負荷が高いプロセスが実行されると、I / Oの負荷が高いプロセスの多くはディスパッチされません。この場合、I / Oデバイスはアイドル状態です。CPUの負荷が高いプロセスが制御を放棄すると、I / Oにバインドされたプロセスは、I / Oキューに追加されることにより、CPUをすばやく通過します。この間、CPUはアイドル状態です。
ご覧のとおり、CPUとI / Oデバイスの両方が長時間アイドル状態のままになっているため、この方法はあまり効率的ではありません。それとは別に、この方法では多くの場合、平均待機時間が非常に長くなります。
この効果は、トラフィックの例に似ています。車両の動きが遅いため、交通システムが非効率になっています。前方に移動する速度の遅い車両よりも速く移動して目的地に到達できる(プロセスの終了状態と同様)車両は、それができません。これらの車両が潜在的な速度で移動できた場合、道路はこの場合よりも混雑しなくなります。車両は、準備完了キューのプロセスに類似しています。
FCFS(先着順)スケジューリングは、ビジーな動的システムで別の方法でコンボイ効果と呼ばれるブロッキングを引き起こす可能性もあります。
1つのCPU集中型プロセスがCPUをブロックする場合、I / O集中型プロセスの多くがその背後にバックアップされ、I / Oデバイスがアイドル状態のままになる可能性があります。CPUホグが最終的にCPUを解放すると、I / OプロセスはすぐにCPUを通過し、すべてのユーザーがI / Oのためにキューに入る間、CPUはアイドル状態になり、CPU集中型プロセスが準備完了に戻ると、サイクルが繰り返されます。キュー。
マルチプログラミングシステムでは、複数のプロセスがFCFSシステムでCPUの実行を待機していて、遅い処理プロセスがCPUを使用している場合、コンボイにより、CPUを待機しているすべての高速プロセスが不必要に長い時間待機します。これは護送効果です。