スループットが 100MB/秒、シーク時間 = 10ms の HDD があるとします。ディスクから 50MB を読み取るのにかかる時間。
友達の答え:
読み取り時間 = シーク時間 + 50MB/スループット = 510ms。
私の懸念:
まず、私の理解では、HDD にはプラッターが含まれ、プラッターにはセクターが含まれ、セクターにはトラックが含まれます。正しいセクタをヘッドの下に移動する必要があり (つまり、回転待ち時間)、データを読み取るために、ヘッドがセクタ内のトラック間を移動する必要があります (つまり、シーク時間)。ここで間違っている場合は修正してください。
今、
a)この回答は、データが連続したセクター内にあると仮定していませんか?データが断片化されている場合、ディスクを回転させて適切なセクターをヘッドの下に移動する必要があるため、回転待ち時間も追加されるべきではありませんか?
b) また、シーク時間とは、データが要求されてからデータが CPU に渡されるまでの時間のことですか、それとも、ヘッドがセクタ内のトラック間を移動する時間のことですか? 定義は変わり続けています。
c) 最悪の場合の私の答え:
セクター サイズが 512 であると仮定します。
読み取り時間 = (50MB/512 * 回転遅延) + SeekTime + 50MB/スループット。