ディスク スケジューリングの SCAN と CSCAN アルゴリズムの動作を理解するのに苦労しています。私の本では、次のように書かれています: [10 22 20 2 40 6 38] (ディスクは現在 20 ですが) 最初に移動する SCAN は [(20) 20 22 38 40 10 6 2] を提供します。これには、[0 2 16 2 30 4 4] シリンダー、合計 58 シリンダーの移動が必要です。[(20) 20 22 38 40 10 6 2] というパターンはどのようにしてできたのでしょうか?
1 に答える
SCAN(エレベーター)ディスクスケジューリングアルゴリズムが何を言っているかを知ってみましょう:-
一番近い端に向かって下方向にスキャンし、底に達すると上方向にスキャンして、下がらなかったリクエストを処理します。リクエストがスキャンされた後に受信された場合、プロセスが停止するか元に戻るまで処理されません。
したがって、あなたの場合、ディスクの現在の位置は 20 です。したがって、SCAN アルゴリズムに従って、最も近い端に向かってスキャンし、一番下に到達した直後に、リクエストを処理してバックアップをスキャンします。
順序は次のとおりです:-
| |
| * current position | * move back up to upside
|---> nearest disk is this one |
| so it'll move down and so on. |
| as it hit the bottom _______
____
Fig :- Demonstration of SCAN algorithm
したがって、指定されたデータに従って、順序は次のようになります[(20) 20 22 38 40 10 6 2];
編集 :-
SCAN と CSCAN の唯一の違いは、CSCAN では、
最も近い端に向かってスキャンを開始し、システムの最後までずっと動作します。ボトムまたはトップに当たると、同じパスを使用して上に戻るスキャンとは異なり、反対側の端にジャンプして同じ方向に移動します。
CSCANによると、移動方向は下まで同じで、その後パスを逆にします。
したがって、指定されたデータに従って、順序は次のようになります[(20) 20 22 38 40 2 6 10];
。最後の 3 つのディスク位置の変更に注意してください。
明確であることを願っています。残りの疑問は遠慮なく質問してください。