Загрузка/копирование файлов одновременно способствует фрагментации?

Запись больше чем одного файла одновременно к разделу жесткого диска способствуют фрагментации? Эти файлы были бы записаны чередованный на жестком диске?

Примеры:

  • Загрузка нескольких файлов одновременно от сети
  • Копирование файлов от различных источников до того же раздела
  • Загрузка нескольких потоков

Действительно ли это отличается между различным OSs? Выделяет место априорно для всего файла специализированная функция?

10
задан 28.07.2014, 10:32

1 ответ

Это во многом зависит от используемой файловой системы, в некоторой степени операционная система, а также программа, это открывает файл. Это до приложения для запроса корректной суммы устройства хранения данных при создании нового файла, и это - операционная система и функции файловой системы, которые влияют на поведение открывать-и-расширять, за которым следуют эти приложения, когда они не знают сколько пространства просить.

Если программа попросит у операционной системы файла на 4.2 ГБ, то ОС найдет ломоть пространства с 4.2 ГБ свободным. Сбой этого это даст программе достаточно фрагментов свободного пространства, чтобы сохранить файл. Существуют некоторые переменные здесь, это упрощено.

Если программа попросит у операционной системы файла 4 КБ, то ОС даст его. Если программа продолжает просить новые непрерывные сегменты 4KB (Вы загружаете файл, и программа не знала, насколько большой это было), пока это не получит 4.2 ГБ пространства, ОС счастливо даст пространство. Дело обстоит так, где файловая система и ОС имеют значения.

XFS, например, основан на степени, таким образом, добавленное пространство будет непрерывно, пока это не сможет быть. Кроме того, XFS может быть настроен, чтобы предварительно выделить новые файлы с определенным количеством пространства, которое может далее минимизировать фрагментацию (полезный на томах Виртуальной машины, а также DVD объемы ISO).

EXT2/3, NTFS, и я верю Reiser, выделит непрерывный, пока он больше не может. Затем это запустит новые фрагменты. Каждый фрагмент мог составить 4 КБ в размере все же.

Позволяет берут худший случай. Два параллельных файла на 4.2 ГБ, сохраненные 4 КБ за один раз параллельно, к тому же каталогу. 'Тот же каталог' вещь является частью худшего случая, так как некоторые комбинации ОС/FS пытаются сохранить файлы в том же каталоге друг около друга. Для некоторых комбинаций ОС/FS это приведет к этим двум файлам, полностью чередуемым на диске. Для других, которые пытаются сохранить ново-открытые файлы на различных свободных сегментах, не может быть никакой фрагментации вообще или очень мало.

Немного на XFS (я думаю, ext4 и btrfs также могут сделать это). В этом случае чередование не составит 4 КБ, это будет тем, к чему Вы устанавливаете свое значение размера выделения при монтировании объема. Установите его на 256 МБ, и Вы получите файл на 4.2 ГБ с 17 фрагментами вместо более чем миллиона. Полезный для объемов, хранящих большие файлы как медиасерверы. Не полезный для объемов, хранящих много itty крошечных файлов и нескольких больших.

Именно из-за этого клиенты Bittorrent или откройте редкие файлы при запуске новой загрузки или просто выделите указанный размер всего перед запуском.

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

7
ответ дан 07.12.2019, 12:59

Теги

Похожие вопросы