Дефрагментация диска

Материал из Википедии — свободной энциклопедии

Перейти к: навигация, поиск
Фрагментация и дефрагментация файловой системы типа FAT

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

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

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

Дефрагментация чаще всего используется для таких файловых систем, как File Allocation Table для MS-DOS и Microsoft Windows, так как в программах для работы с ними обычно не предусмотрено никаких средств для предотвращения фрагментации, и она появляется даже на почти пустом диске и небольшой нагрузке.

[править] Файловые системы

  • FAT: MS-DOS 6.x и Microsoft Windows 4.x содержат утилиту «Defrag». Версия для DOS основана на Norton SpeedDisk, версия для Windows — на Diskeeper.
  • NTFS: Microsoft Windows NT 5 и новее содержат дефрагментатор, основанный на Diskeeper. Windows NT 4 и ранее не имели встроенных утилит для дефрагментации.[1]
  • ext2 использует офлайн-дефрагментатор e2defrag.
  • ext3: e2defrag может работать с ext3 только если её временно преобразовать в ext2. Вместо этого можно использовать дефрагментатор, не зависящий от файловой системы — например, Shake[1].
  • XFS: xfsdump
 $sudo xfs_fsr -v /dev/sdX1
  • Также в операционной системе GNU/Linux часто используется команда перемещения файлов mv, которая может считать файлы с одного раздела и записать дефрагментированную версию в другой, а потом переместить файлы обратно. Например, следующий пример дефрагментирует все файлы в папке /home/user (/mnt/user — точка монтирования пустого раздела)
 $mv /home/user /mnt/user 
 $mv /mnt/user /home/user

[править] Примечания

  1. Disk Defragmenter Limitations in Windows 2000, Windows XP, and Windows Server 2003 (англ.). Help and Support. Microsoft Coporation (2007-01-24). Проверено 27 сентября 2007.

[править] Ссылки