Дефрагментàция диска Windows (англ. Windows Disk Defragmenter) — компьютерная программа, входящая в состав ОС Microsoft Windows и разработанная для ускорения доступа (а иногда и увеличения объёма пригодного для использования пространства) с помощью повторного упорядочивания файлов, сохранённых на диске для формирования непрерывной системы хранения или дефрагментации. Целью данного процесса является оптимизация времени, затрачиваемого на чтение и запись файлов на диске, сокращающая время перемещения головки диска и повышающая скорость передачи данных.
Дефрагментация является частью оптимизации работы диска с момента стабилизации этого процесса в 1975 году. Несколько компаний, помимо Norton (Symantec) и Майкрософт, поставляли программы для дефрагментации отдельно от способов оптимизации дискового пространства.
Версии MS-DOS до версии 6.0 и ОС Windows NT до версии Windows 2000 не включали в состав программу дефрагментации.
Когда программа Defrag, лицензируемая корпорацией Symantec, была бесплатно включена в состав программного обеспечения MS-DOS 6.0, использование альтернативных коммерческих продуктов стало менее распространённым, поскольку дополнительные расходы были невыгодны покупателям.
Программа дефрагментации диска также входит в состав ОС Windows 95, Windows 98 и Windows Me. Её запуск может быть запланирован с помощью мастера обслуживания и поддерживаемых переключателей командной строки[1].
Ограничение программы: если содержимое диска изменяется во время дефрагментации, процесс запускается с начала[2].
ОС Windows 2000, Windows XP и Windows Server 2003 содержат базовую лицензионную версию программы Diskeeper, выпускаемой корпорацией Diskeeper (ранее называвшейся Executive Software). В состав ОС Windows XP дополнительно входит служебная программа командной строки Defrag.exe[3].
Техники, используемые программой Дефрагментация диска, включают в себя следующие[4]:
Перенос всей информации об индексах или каталогах в одно место. Перенос этого места в центр данных, то есть сокращение пути на треть, чтобы среднее расстояние при перемещении головки диска к данным сокращалось вдвое по сравнению с расстоянием при расположении сведений о каталогах в легкодоступных областях.
Перенос редко используемых файлов дальше от области каталогов.
Выполнение или пропуск команд пользователя, предоставляющего таблицу описаний файлов.
Обеспечение непрерывности файлов, исключающее лишние поиски при чтении.
В ОС Windows Vista программа дефрагментации диска содержит параметр для автоматического запуска в запланированное время с помощью планировщика заданий и использует низкую важность для центрального процессора, а также новый алгоритм подсистемы ввода-вывода с низкой важностью для обеспечения продолжения дефрагментации с применением сокращенного количества ресурсов (меньшее количество действий по чтению и записи на диск, а также процедур центрального процессора) при использовании компьютера. Интерфейс пользователя был упрощен, а цветные графики и индикатор выполнения полностью удалены. Также в более ранних версиях было невозможно выбрать диски для дефрагментации, в то время как в ОС Windows Vista с пакетом обновления 1 (SP1) эта функция добавлена.
Если размер фрагментов файла превышает 64 МБ, дефрагментация файла не выполняется при использовании графического интерфейса пользователя; в корпорации Майкрософт утверждают, что это вызвано отсутствием заметного изменения производительности, поскольку время, затрачиваемое на поиски столь значительных блоков данных, не существенно по сравнению со временем, требующимся для их прочтения[5]. Однако в результате для программы Дефрагментация диска не требуется определенного объёма свободного пространства для успешной дефрагментации тома (в отличие от выполнения полной дефрагментации, требующей не менее 15 % свободного пространства тома). Служебная программа командной строки, Defrag.exe в ОС Windows Vista, обеспечивает больший контроль над процессом дефрагментации, например, выполнение полной дефрагментации путём объединения всех фрагментов независимо от их размера[6]. Эта служебная программа может использоваться для дефрагментации определенных томов или просто их анализа, аналогично функциям программы дефрагментации в ОС Windows XP.
Программа дефрагментации диска в настоящее время обслуживается рабочей группой по поддержке основных файловых служб Microsoft Core File Services (CFS). Версия ОС Windows Vista была обновлена для добавления в ОС Windows Vista SP1 улучшений, выполненных в ОС Windows Server 2008. Наиболее значимым улучшением является возможность выбора дефрагментируемых томов[7].
В ОС Windows 2000 и более поздних версиях операционных систем программа дефрагментации диска имеет следующие ограничения:
Она не дефрагментирует файлы, находящиеся в корзине, или используемые файлы[8]. В частности, это ограничение включает в состав файлы подкачки и файлы гибернации.
Одновременно можно анализировать или дефрагментировать только один том и один экземпляр разрешается запускать[9].
Дефрагментировать можно только локальные тома, сетевые тома или съёмные носители данных не поддерживаются[9].
Версию графического интерфейса пользователя в системах, предшествующих ОС Windows Vista, невозможно добавить в планировщике заданий, однако запуск служебной программы командной строки в ОС Windows XP и более поздних версиях запланировать можно.
Метаданные файловой системы NTFS, например, основная таблица файлов (Master File Table, MFT), или метаданные, описывающие содержимое каталога, не подвергаются дефрагментации.
Кроме того, в версии Windows 2000 присутствуют следующие ограничения, устранённые в ОС Windows XP[9]:
Дефрагментация томов файловой системы NTFS с размерами кластеров, превышающими 4 килобайта (КБ), невозможна.
Невозможно выполнять точное перемещение несжатых данных файла NTFS в ОС Windows 2000. Перемещение одного файлового кластера также обеспечивает перенос части файла, содержащего кластер размером 4 КБ.
↑Дефрагментация диска (неопр.). Руководство пользователя. Руководство пользователя ОС Windows Vista (2007-01-27). Дата обращения: 27 января 2007. Архивировано 16 марта 2012 года.