メインコンテンツへ
ソフトウェアディスクスケジューリング

SCAN法(エレベーターアルゴリズム)によるディスクスケジューリングの説明として正しいものはどれか。

ア.現在のヘッド位置から最も近いリクエストを常に優先して処理する。
イ.ヘッドが常に内側から外側へのみ移動し、端に達したら内側先頭に戻る。
ウ.リクエスト順にシリンダを移動するため、公平だが全体の移動量が多い。
エ.ヘッドが一方向に移動しながらリクエストを処理し、端に達したら逆方向に移動する。正解

解説

SCANはエレベーターそのもの。上から下まで行ったら折り返して下から上へ。乗り降りが多くても効率よく対応できます。

なぜ エ が正解か

SCAN法(エレベーターアルゴリズム): ・ヘッドが一方向(例:内→外)に進みながら通過するシリンダのリクエストを処理 ・端(最外周または最内周)に達したら方向転換 ・折り返して逆方向のリクエストを処理 FCFS(到着順)よりシーク時間を削減できます。端に近いリクエストが二重に近い待機時間を許容する必要がありますが、全体のスループットが向上します。C-SCAN(Circular SCAN)は折り返さず先頭に戻ることで待機時間のばらつきをさらに均等化します。

なぜ ア は間違いか

現在位置から最も近いリクエストを優先するのは「SSTF(Shortest Seek Time First)」法です。平均シーク時間は短くなりますが、端にあるリクエストがずっと後回し(スタベーション)になる欠点があります。

なぜ イ は間違いか

常に内→外方向のみで端に達したら先頭(最内周)に戻るのは「C-SCAN(Circular SCAN)」法の説明です。SCAN法は折り返して逆方向に進む点でC-SCANと異なります。

なぜ ウ は間違いか

リクエスト到着順に処理するのは「FCFS(First Come First Served)」ディスクスケジューリングです。FIFOとも呼ばれ、公平ですが効率が悪く平均シーク時間が大きくなりがちです。

出典: AI生成問題(学習用)