3

Если вам известны скорость поиска, задержка вращения и скорость передачи, как рассчитать время передачи для файла с заданным общим размером и размером кластера?

1 ответ1

3

Вы не можете знать это, потому что вы не знаете, где физически на диске находится данный файл; Если сектора, содержащие файл (смежные или нет), расположены ближе к шпинделю, скорость передачи будет намного ниже, чем если бы файл физически находился в секторах, расположенных ближе к внешнему краю пластины.

Кроме того, размер кластера не имеет значения в этом контексте; это минимальное количество секторов, используемых для хранения файла, и это фактор файловой системы, а не диска.

ОБНОВЛЕНО, чтобы ответить на вопросы в комментариях:

Задержка вращения почти всегда присутствует; диск должен вращаться настолько, чтобы первый сектор кластера находился под головкой чтения, прежде чем вы сможете начать его чтение. Если размер файла в 1,5 раза больше размера кластера, файл будет занимать 2 кластера, и "лишние" кластеры 0,5 будут потрачены впустую (так называемое "свободное пространство") - уменьшение размера кластера помогает уменьшить свободное пространство, при затраты на дополнительные затраты ввода-вывода для учета большего количества кластеров, которые файловая система должна отслеживать. Кластер - это наименьшая единица пространства в файловой системе (несмотря на "хвостовую упаковку").

Более подробная информация о хвостовой упаковке: en.wikipedia.org/wiki/Block_suballocation

Большинство людей хранят файлы разных размеров в файловой системе, поэтому средний размер кластера (например, 8 КБ или 16 КБ) обычно используется по умолчанию. Размер кластера по умолчанию для данной файловой системы зависит от размера создаваемой файловой системы.

Если вы знаете, что в файловой системе вы будете хранить множество крошечных файлов, вы настроите файловую систему с небольшим размером кластера, чтобы минимизировать свободное пространство (при условии, что соответствующее снижение производительности не является проблемой для вашего приложения). Если вы знаете, что в файловой системе вы будете хранить огромное количество файлов (например, видео), вы настроите файловую систему с большим размером кластера, чтобы уменьшить накладные расходы ввода-вывода из-за учета всей информации о распределении кластера (например, MFT в NTFS).

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