Light-industry-up.ru

Экосистема промышленности

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

27-09-2023

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

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

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

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

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

Помимо замедления компьютера в работе с файловыми операциями (таких как чтение и запись), фрагментация файлов негативно сказывается на «здоровье» жёсткого диска, так как заставляет постоянно перемещаться позиционирующие головки диска, которые осуществляют чтение и запись данных. Для устранения проблемы фрагментации существуют программы-дефрагментаторы, принцип работы которых заключается в «сборке» каждого файла из его фрагментов. Общим недостатком таких программ является их медленная работа — процесс дефрагментации обычно занимает очень много времени (до нескольких часов).

Содержание

Дефрагментация вручную и предотвращение фрагментации

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

Знание файловой структуры и принципов работы жёсткого диска помогает сильно уменьшить фрагментацию файлов благодаря правильной организации работы пользователя. Эта организация заключается в том, что на чистый диск сначала записываются те файлы, которые предполагается хранить долго: любимые фильмы, архивы, музыку. Те же файлы, которые не планируется долго хранить, лучше записывать в конец диска: их удаление не вызовет дробления других файлов.

Помогает использование отдельного раздела для часто изменяемых файлов. Например, в Unix-подобных ОС на отдельных разделах часто размещаются пользовательские данные и настройки (каталог /home), временные файлы (/tmp), протоколы, кэши и др. (/var); см. также FHS.

Файловые системы

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

Примечания

  1. Disk Defragmenter Limitations in Windows 2000, Windows XP, and Windows Server 2003  (англ.). Help and Support. Архивировано из первоисточника 29 августа 2011. Проверено 27 сентября 2007.
  2. Vleu.net: ShAkE

Литература

  • Peter Norton. Peter Norton’s Complete Guide to DOS 6.22. — Sams, 1994. P. 521. ISBN 0-672-30614-X
  • Woody Leonhard, Justin Leonhard. Windows XP Timesaving Techniques For Dummies. — 2nd ed. — For Dummies, 2005. — 590 p. — ISBN 978-0764578830
  • Craig Jensen. Fragmentation: The Condition, the Cause, the Cure. Executive Software International, 1994. ISBN 0-9640049-0-9
  • Dave Kleiman, et al. Winternals Defragmentation, Recovery, and Administration Field Guide. — Syngress, 2006. — 512 p. — ISBN 978-1597490795
  • Drew Robb. Server Disk Management in a Windows Environment. — Auerbach Publications, 2003. — 280 p. — ISBN 978-0849324321

Ссылки

  • Oliver Diedrich. Tuning the Linux file system Ext3  (англ.). Heise Media UK Ltd. (27 октября 2008).(недоступная ссылка) Проверено 13 ноября 2008.
  • Defragmenting RAIDs. Keep Your Array From Going To Pieces

Дефрагментация.

© 2014–2023 light-industry-up.ru, Россия, Краснодар, ул. Листопадная 53, +7 (861) 501-67-06