現在一般的に使用されているディスク スケジューリング アルゴリズムは次のとおりです: 1. 先着順アルゴリズム (FCFS)、2. 最短シーク時間優先アルゴリズム (SSTF)、3. スキャン アルゴリズム (SCAN)、4. ループ スキャン アルゴリズム ( CSCAN)。
このチュートリアルの動作環境: Windows 7 システム、Dell G3 コンピューター。
ディスク スケジューリング マルチプログラムされたコンピュータ システムでは、各プロセスがディスク上の読み取り/書き込み操作に対して異なる要求を継続的に行うことがあります。これらのプロセスは、ディスクが応答できるよりも早くリクエストを送信する場合があるため、ディスク デバイスごとに待機キューを確立する必要があります。一般的に使用されるディスク スケジューリング アルゴリズムは 4 つあります。
先着順サービス アルゴリズム (FCFS) )、
最短シーク時間優先アルゴリズム (SSTF)、
スキャン アルゴリズム (SCAN)、
サイクル スキャン アルゴリズム (CSCAN)
例: 仮定します。ディスクには、0 から 199 までの番号が付けられた合計 200 のシリンダがあることがわかります。シリンダ番号 143 にアクセスするリクエスタにサービスを提供した後、現在はシリンダ番号 125 にアクセスするリクエストを処理しており、同時にいくつかのリクエストがあります。サービスを待っています。毎回アクセスしたいシリンダ番号は 86、147、91、177、94、150、102、175、130
1 です。先着順アルゴリズム (FCFS) 先着順最初のサービス
これは、比較的単純なディスク スケジューリング アルゴリズムです。プロセスがディスクへのアクセスを要求する順序に基づいてスケジュールされます。このアルゴリズムの利点は、公平かつシンプルであり、各プロセスの要求を順番に処理できるため、特定のプロセスの要求を長時間満たせないという事態が発生しないことです。このアルゴリズムはシークを最適化しないため、ディスク アクセス要求が多い場合、このアルゴリズムはデバイス サービスのスループットを低下させ、平均シーク時間は長くなりますが、サービスを取得する各プロセスの応答時間は変化は小さくなります。
先着順 (125) 86.147.91.177.94.150.102.175.130
2. 最短シーク時間優先アルゴリズム (SSTF) 最短シーク時間優先
このアルゴリズムは、各シーク時間が最短になるように、アクセスされるトラックが現在のヘッドが配置されているトラックに最も近いことを必要とするプロセスを選択します。このアルゴリズムでは、より優れたスループットが得られますが、平均シーク時間の最短化を保証するものではありません。欠点は、ユーザーのサービス要求に対する応答の機会が均等ではないため、応答時間が大幅に変化することです。サービス リクエストが多数ある場合、内部および外部のエッジ トラックへのリクエストは無期限に遅延し、一部のリクエストの応答時間は予測不可能になります。
最短シーク時間最初 (125) 130.147.150.175.177.102.94.91.86
3. スキャン アルゴリズム (SCAN) エレベーター スケジュール
スキャン アルゴリズムは、アクセスされたトラックと現在のトラックの間の距離は、磁気ヘッドの現在の移動方向によって優先されます。たとえば、磁気ヘッドが内側から外側に移動している場合、スキャン アルゴリズムによって選択される次のアクセス オブジェクトは、現在のトラックの外側にあり、かつ最も近い、アクセスしたいトラックである必要があります。このようにして、アクセスは内側から外側に実行され、外部トラックにアクセスする必要がなくなるまで、磁気アームが反転して外側から内側に移動します。このとき、アクセスしたいトラックが現在のトラック内にある場合には、毎回プロセスがスケジューリング対象として選択されるため、スタベーションの発生が回避されます。このアルゴリズムの頭の動きの法則はエレベーターの動作に非常に似ているため、エレベーター スケジュール アルゴリズムとも呼ばれます。このアルゴリズムは、サービスが中間トラックに集中し、応答時間が大きく異なるという最短シーク時間優先アルゴリズムの欠点を基本的に克服し、スループットが大きく、平均応答が小さいという最短シーク時間優先アルゴリズムの利点を備えています。時間はかかりますが、スイング スキャン方式のため、両側のトラックは中央のトラックよりもアクセス頻度が低くなります。
エレベーター配車 (125) 102.94.91.86.130.147.150.175.177
4. 周期スキャン アルゴリズム (CSCAN)
周期スキャン アルゴリズムは、スキャンの改良版です。アルゴリズム。トラックへのアクセス要求が均等に分散されている場合、ヘッドがディスクの一端に到達して反対方向に移動するときにヘッドに遅れるアクセス要求は比較的少数になります。これは、これらのトラックが処理されたばかりで、ディスクのもう一方の端でのリクエスト密度が非常に高く、これらのアクセス リクエストが長時間待機するためです。この状況を解決するために、循環スキャン アルゴリズムでは、ヘッドが一方向に動きます。例えば、内側から外側へのみ移動する場合、磁気ヘッドがアクセスされた最外周トラックに移動すると、すぐに磁気ヘッドはアクセスされる最内周トラックに戻ります。つまり、最小のトラック番号の後に最大のトラック番号が続きます。スキャンのサイクルを形成します。
サイクル スキャン (125) 130.147.150.175.177.86.91.94.102
コンピューター関連の知識については、FAQ列をご覧ください。
以上が現在一般的に使用されているディスク スケジューリング アルゴリズムは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。