Microsoft Drive Optimizer (ранее Disk Defragmenter ) — это утилита в Microsoft Windows, предназначенная для увеличения скорости доступа к данным путем перераспределения файлов, хранящихся на диске , для занятия смежных областей хранения; этот метод называется дефрагментацией . Microsoft Drive Optimizer впервые был официально поставлен вместе с Windows XP .
Дефрагментация диска минимизирует перемещение головки, что сокращает время, необходимое для чтения и записи файлов на диск. [1] В результате сокращения времени чтения и записи Microsoft Drive Optimizer сокращает время запуска системы для систем, начинающихся с магнитных запоминающих устройств, таких как жесткий диск. Однако дефрагментация бесполезна для устройств хранения, таких как твердотельные накопители , USB-накопители или SD-карты , которые используют флэш-память для увеличения скорости, поскольку эти накопители не используют головку. Это может сократить срок службы этих типов устройств.
Начиная с Windows 8, программа была переименована в Microsoft Drive Optimizer, а некоторые ссылки были изменены на « Дефрагментация и оптимизация дисков» или просто «Оптимизация дисков» .
Еще в конце 1982 года операционная система IBM PC DOS , которая поставлялась с ранними персональными компьютерами IBM, включала Disk Volume Organization Optimizer для дефрагментации 5¼-дюймовых дискет , которые использовались в этих машинах. В то время MS-DOS от Microsoft не дефрагментировала жесткие диски. Несколько сторонних разработчиков программного обеспечения выпустили на рынок дефрагментаторы, чтобы заполнить этот пробел. MS-DOS 6.0 представила Microsoft Defrag. [2] Однако Windows NT не предлагала утилиту Defrag, и Symantec была предложена другими в качестве возможной альтернативы для этой утилиты. [3]
В первых выпусках Windows NT отсутствовал инструмент дефрагментации. Версии вплоть до Windows NT 3.51 не имели интерфейса прикладного программирования для перемещения кластеров данных на жестких дисках. [4] Executive Software, позже переименованная в Diskeeper Corporation , выпустила программное обеспечение дефрагментации Diskeeper для Windows NT 3.51, [4] которое поставлялось с настроенной версией ядра NT и драйверами файловой системы, которые могли перемещать кластеры.
Microsoft включила команды управления файловой системой (FSCTL) для перемещения кластеров в ядре Windows NT 4.0 , [4] которые работали как для разделов NTFS , так и для FAT . Однако Windows NT 4.0 не предоставляла графического или командного интерфейса пользователя. [4]
Disk Defragmenter впервые поставлялся как часть Windows 95 , а затем поставлялся с Windows 98 и Windows Me , лицензированный Symantec Corporation. Его можно было запланировать с помощью мастера обслуживания и поддерживаемых параметров командной строки. [5] В версии Disk Defragmenter, включенной в Windows 95 и 98, если содержимое диска изменялось во время дефрагментации, программа приостанавливалась, повторно сканировала весь диск, а затем возобновляла процесс с того места, на котором он остановился. [6] Эта особенность была устранена в версии Disk Defragmenter для Windows Me.
Disk Defragmenter в Windows 2000 был урезанной версией Diskeeper, лицензированной Diskeeper Corporation. Он использует следующие методы: [4]
В операционных системах Windows 2000 и более поздних версиях Microsoft Drive Optimizer имеет следующие ограничения:
Кроме того, версия Windows 2000 имеет следующие ограничения, которые были сняты в Windows XP: [8]
Windows Disk Defragmenter был обновлен для смягчения некоторых ограничений. [9] Он больше не полагается на Windows NT Cache Manager, который не позволял дефрагментатору перемещать части файла, которые пересекают границу 256 КБ внутри файла. Файлы метаданных NTFS также могут быть дефрагментированы. Был включен инструмент командной строки defrag.exe , [10] обеспечивающий доступ к дефрагментатору из cmd.exe и Task Scheduler . В Windows XP, если основная таблица файлов (MFT) разделена на несколько фрагментов, defrag.exe и версия с графическим интерфейсом могут объединить фрагменты MFT во время дефрагментации. [11] Windows XP и более поздние версии представили функцию дефрагментации загрузочных файлов , эта функция включена по умолчанию и может быть отключена в реестре. [12]
В Windows Vista Disk Defragmenter включает опцию автоматического запуска в запланированное время с помощью Task Scheduler и использует низкий приоритет ЦП и недавно представленный алгоритм ввода-вывода с низким приоритетом , чтобы он мог продолжать дефрагментацию, используя сокращенные ресурсы (меньше ЦП и активности чтения/записи диска), когда компьютер используется. Пользовательский интерфейс был упрощен, а цветовой график, индикатор хода выполнения , анализ диска и информация о фрагментации были полностью удалены.
Если фрагменты файла превышают размер 64 МБ, файл не дефрагментируется при использовании графического интерфейса; Microsoft заявила, что это происходит из-за отсутствия заметного выигрыша в производительности, поскольку время поиска таких больших фрагментов данных незначительно по сравнению со временем, необходимым для их чтения. [13] Однако в результате Disk Defragmenter не требует определенного количества свободного места для успешной дефрагментации тома, в отличие от выполнения полной дефрагментации, которая требует не менее 15% свободного места на томе. Утилита командной строки Defrag.exe предлагает больше контроля над процессом дефрагментации, например, выполнение полной дефрагментации путем объединения всех фрагментов файлов независимо от размера. [14] Эту утилиту можно использовать для дефрагментации определенных томов или просто для анализа томов, как это делает дефрагментатор в Windows XP .
Disk Defragmenter поддерживается Microsoft Core File Services. Версия Windows Vista была обновлена в Windows Vista SP1, чтобы включить улучшения, сделанные в Windows Server 2008. Наиболее заметным из этих улучшений является то, что возможность выбора томов для дефрагментации была добавлена обратно. [15] Примечательно, что дефрагментатор Windows Vista намного эффективнее версии, включенной в XP. [16]
Windows 7 снова вводит функцию анализа и отображения процента завершения дефрагментации, которые были удалены в Windows Vista. Он также может дефрагментировать несколько томов одновременно.
По словам Скотта Хансельмана из Microsoft , Windows 7 [ требуется проверка ] и более поздние версии дефрагментируют твердотельный диск (SSD), но совершенно другим способом. Стимул для дефрагментации SSD-накопителей меньше, поскольку фрагментация файлов оказывает на них меньшее влияние на производительность, и они обрабатывают конечное число циклов хранения, прежде чем истечет их срок службы. Однако файловые системы не могут поддерживать бесконечную фрагментацию файлов, поскольку они достигают своего предела метаданных. Кроме того, Microsoft Drive Optimizer также отвечает за выполнение команды TRIM на SSD-накопителях. [17]