Почему ext2 и преемники не нуждаются в дефрагментации?

Семейство файловой системы ext2 / ext3 / ext4 не нуждается в дефрагментации.

Какой базовый проект помогает этой файловой системе не фрагментироваться?

1
задан 20 August 2014 в 16:49

7 ответов

В файловой системе ext3 для каждого блока существует блок-распределитель для диска, и поэтому вполне возможно, что фрагментация может произойти.

Однако в файловой системе ext4 имеется многоадресная система, блок-распределитель, который может задерживать запись блоков на диск, так что он может выделять несколько блоков за один раз в одном фрагменте диска, чтобы обеспечить непрерывную запись - и, следовательно, менее вероятно, что фрагментация может произойти (это все еще возможно, только менее вероятно)

8
ответ дан 24 May 2018 в 04:28

По крайней мере для Ext2 (и Ext3, я думаю, хотя я не уверен), в формате / структуре на диске нет ничего, что могло бы предотвратить дефрагментацию.

Отсутствие необходимости в дефрагментации на уровне реализации, который будет варьироваться от ОС к ОС. То есть, в зависимости от реализации, файл в Ext2 может быть или не быть фрагментирован.

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

Надеюсь, что это поможет.

5
ответ дан 24 May 2018 в 04:28
  • 1
    На самом деле есть утилита e2defrag, и она может понадобиться (на довольно полных дисках со многими случайными файлами). Отложенный распределитель ext4 делает это еще менее вероятным. Но даже ext2 имел какое-то задержанное распределение / запись, что делало менее требовательным для запуска утилиты дефрагментации, чем примитивный распределитель MS-DOS®. – mirabilos 22 August 2014 в 03:07

По крайней мере для Ext2 (и Ext3, я думаю, хотя я не уверен), в формате / структуре на диске нет ничего, что могло бы предотвратить дефрагментацию.

Отсутствие необходимости в дефрагментации на уровне реализации, который будет варьироваться от ОС к ОС. То есть, в зависимости от реализации, файл в Ext2 может быть или не быть фрагментирован.

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

Надеюсь, что это поможет.

5
ответ дан 24 May 2018 в 04:28

По крайней мере для Ext2 (и Ext3, я думаю, хотя я не уверен), в формате / структуре на диске нет ничего, что могло бы предотвратить дефрагментацию.

Отсутствие необходимости в дефрагментации на уровне реализации, который будет варьироваться от ОС к ОС. То есть, в зависимости от реализации, файл в Ext2 может быть или не быть фрагментирован.

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

Надеюсь, что это поможет.

5
ответ дан 24 May 2018 в 04:28

По крайней мере для Ext2 (и Ext3, я думаю, хотя я не уверен), в формате / структуре на диске нет ничего, что могло бы предотвратить дефрагментацию.

Отсутствие необходимости в дефрагментации на уровне реализации, который будет варьироваться от ОС к ОС. То есть, в зависимости от реализации, файл в Ext2 может быть или не быть фрагментирован.

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

Надеюсь, что это поможет.

5
ответ дан 24 May 2018 в 04:28

По крайней мере для Ext2 (и Ext3, я думаю, хотя я не уверен), в формате / структуре на диске нет ничего, что могло бы предотвратить дефрагментацию.

Отсутствие необходимости в дефрагментации на уровне реализации, который будет варьироваться от ОС к ОС. То есть, в зависимости от реализации, файл в Ext2 может быть или не быть фрагментирован.

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

Надеюсь, что это поможет.

5
ответ дан 24 May 2018 в 04:28

По крайней мере для Ext2 (и Ext3, я думаю, хотя я не уверен), в формате / структуре на диске нет ничего, что могло бы предотвратить дефрагментацию.

Отсутствие необходимости в дефрагментации на уровне реализации, который будет варьироваться от ОС к ОС. То есть, в зависимости от реализации, файл в Ext2 может быть или не быть фрагментирован.

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

Надеюсь, что это поможет.

5
ответ дан 24 May 2018 в 04:28

Другие вопросы по тегам:

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