Как работают программы дефрагментации?

13

а) Какой алгоритм будет использовать типичная программа дефрагментации, чтобы избавиться от фрагментации?

б) В Defraggler у меня есть опция быстрой дефрагментации и опция дефрагментации. Предполагая, что дефрагментация будет выполнять обычную дефрагментацию, что будет делать быстрая дефрагментация?

Lazer
источник

Ответы:

13

Я не разбираюсь в дефрагментации, но я хотел бы поделиться информацией по вашему вопросу. В первой части вашего вопроса MSDN упоминает об алгоритмах дефрагментации в своем блоге:

В Windows XP любой файл, разбитый на несколько частей, считается фрагментированным. Не так в Windows Vista, если фрагменты достаточно велики - алгоритм дефрагментации был изменен (с Windows XP), чтобы игнорировать фрагменты файла размером более 64 МБ. В результате дефрагментация в XP и дефрагментация в Vista сообщат о разной степени фрагментации на томе. Итак, какой из них правильный? Ну, прежде чем ответить на вопрос, мы должны понять, почему дефрагментация в Vista была изменена. В Vista мы проанализировали влияние дефрагментации и определили, что наиболее значительный выигрыш в производительности при дефрагментации - это когда фрагменты файлов объединяются в достаточно большие куски, так что влияние задержки при обращении к диску несущественно по сравнению с задержкой, связанной с последовательным чтением файл.есть момент, после которого объединение фрагментированных фрагментов файлов не имеет заметного преимущества .

Вы можете прочитать всю статью здесь: Проектирование Windows 7 - Дефрагментация диска.

На вторую часть вашего вопроса у Piriform Docs есть ответ:

Defraggler имеет два разных режима дефрагментации: обычная дефрагментация и быстрая дефрагментация. Быстрая дефрагментация быстрее, но результаты не так оптимальны, как при обычной дефрагментации.

Быстрая дефрагментация работает быстрее, пропуская файлы с определенными свойствами. Они указаны на вкладке «Быстрая дефрагментация» диалогового окна «Параметры».

Правило быстрой дефрагментации по умолчанию - пропускать файлы с фрагментами размером более 50 МБ.

Для лучшего понимания дефрагментации в Википедии есть хорошая страница .

Мехпер С. Палавузлар
источник
+1 Это касается практически всего, что мы можем сказать о Дефрагментации!
r0ca
2

Следует отметить одну важную вещь: Microsoft предоставляет API, который программы могут использовать для безопасной дефрагментации файлов. (См. Раздел « Дефрагментация файлов в MSDN» ). Любой дефрагментатор должен использовать эти API, и большинство из них.

Вся «магия» дефрагментации заключается в определении того, как выложить файлы, и это то, что различные программы используют для различения друг друга. Если вы думаете, что вы действительно умны, вы можете использовать MyDefrag, чтобы написать собственный скрипт макета.

afrazier
источник
0

Там абсолютно нет 1 ответ. Там нет "типичного" алгоритма. Потому что каждое приложение дефрагментации использует свои алгоритмы. Конечно, среди некоторых из известных алгоритмов можно увидеть «тенденцию», но, вообще говоря, нет типичного или универсального.

Возьмите MyDefrag , удивительное приложение, кстати, вы можете, в некоторой степени, написать свои собственные алгоритмы дефрагментации.

Сварливый медведь
источник