-4

Я готовлюсь к экзаменам и застрял в следующей проблеме:

Один диск имеет 20000 дорожек, скорость 7200 об / мин и время поиска 1 мс. Вопрос просит меня подсчитать общее время, необходимое для чтения всех треков на диске. Это дает нам один совет: время передачи трека - это время, которое необходимо для полного цикла под головкой диска.

Сначала я попытался найти время передачи, но не знаю, правильно ли. Я получаю 7200/3600.

Как я могу решить это?

1 ответ1

3

Я думаю, что проблема на самом деле не в компьютерах или жестких дисках, если их задавать, как в экзаменационном вопросе. Это больше об основах.

  • Если у вас 7200 об / мин, это означает, что диск будет вращаться (7200/60) = 120 раз в секунду.
  • Каждый раз, когда диск делает полный оборот, вы теоретически можете прочитать 1 полный трек. Это означает, что чтение 1 трека занимает (1/120)s

Итак, теперь вопрос времени поиска 1 мс:

  • Если вы можете выполнять непрерывное чтение, то вы должны добавить время поиска только один раз. Таким образом, у вас есть (1/120)s для каждой дорожки и одноразовое добавление времени поиска. Это похоже на упрощение.
  • Более реалистично: если предположить, что вопрос требует дополнительных 1 1ms (1/1000)s чтобы переключиться с одной дорожки на другую, вы не можете читать 120 дорожек каждую секунду, как подсказывает один поворот.
  • Принимая во внимание вращение и время поиска, каждая дорожка будет считывать (1/1000 + 1/120)s .

Замечания:

Как правильно указывает @sawdust в комментариях, этот ответ использует несколько упрощений. Это связано с тем, что в вопросе больше не было информации, и я попытался поработать с основами. Если вопрос более сложный (или имеет дело с фактическим оборудованием, а не с экзаменационным вопросом), необходимо учитывать следующие факторы:

  • На диске может быть несколько (скажем, N) пластин, поэтому 20000 дорожек можно распределить по N пластинам. В общем, блюдо можно использовать с обеих сторон. [1] Таким образом, 20000 дорожек каждой из 2N головок чтения / записи в приводе - это не 20000 цилиндров, а 20000/(2N) цилиндров. Это может позволить читать 2N треков одновременно. Затем чтение 2N треков занимает (1/120)s .
  • Время поиска не должно быть установлено равным 1 1ms . Обычно это комбинация времени поиска головки, когда головка перемещается к правильному цилиндру (который не всегда может быть постоянным в зависимости от того, где вы находитесь на диске), ПЛЮС задержка вращения, что означает, что сам диск должен вращаться до голова выше правильного сектора. В среднем, задержку вращения можно упростить, чтобы она составляла половину времени, которое требуется диску, чтобы совершить 1 полный оборот. Таким образом, задержка вращения может составлять (1/240)s для каждого нового цилиндра.
  • Реальные диски могут иметь определенные задержки, когда сталкиваются с проблемами для правильного чтения данных. Это происходит, когда блоки повреждены или иным образом затруднены для чтения, и накопитель пытается прочитать сектора с различными позициями головок и параметрами, чтобы повысить вероятность получения каких-либо данных. Результирующие задержки иногда могут даже наблюдаться с новыми розничными накопителями, и их необходимо учитывать при планировании реальной системы, которая зависит от своевременного чтения с диска. Поэтому вы не всегда можете предположить, что дорожка будет полностью прочитана после 1-го оборота. Проблема может стать очень серьезной, поэтому все больше корпоративных дисков предлагают такие функции, как TLER, для ограничения разрешенного времени для повторного чтения сектора. [2]

[1]: Википедия: Головка блока цилиндров
[2]: Western Digital: разница между дисками для настольных изданий (WD Blue, WD Green и WD Black) и RAID (Enterprise)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .