13

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

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

3 ответа3

13

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

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

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

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

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

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

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

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

2

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

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

0

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

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

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