Определение

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

Файлы фрагментируются каждый раз, когда пользователь изменяет или удаляет их. Это происходит потому, что файлы редко хранятся последовательно, их части произвольно расположены (фрагментированы) по всему диску. При таком подходе пространство на диске используется эффективно, однако операции ввода/вывода значительно замедляются, поскольку для того, чтобы получить файл целиком, считывающая головка диска должна «собирать» его фрагменты по всему диску. При значительном объеме операций ввода/вывода производительность настольной системы или сервера заметно снижается.

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

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

Разнообразие файлов

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

Наиболее важен индексный файл; в файловой системе Windows NT его называют главной таблицей файлов (master file table), а в Windows 95 и DOS — таблицей размещения файлов (file allocation table).

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

Файл страничного обмена — это место на жестком диске, куда будут переноситься (временно) данные из оперативной памяти.

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

Каталоги представляют собой списки имен файлов и других каталогов. Они содержат указатели на местонахождение файлов и сообщают индексному файлу о том, где искать конкретный файл.

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

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

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

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

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

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

Два метода

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

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

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

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

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

Это дает возможность гарантировать, что все эти системы, вне зависимости от того, где они находятся, имеют упорядоченные, структурированные дисковые файлы.

Джим Уильямс — менеджер по продуктам компании Raxco Software, поставщика программных утилит для работы с жесткими дисками. С ним можно связаться по электронной почте по адресу jwilliams@raxco.com


Приведение диска в норму

Фрагментированные файлы — оборотная сторона работы с устройствами хранения прямого доступа. Дефрагментация повышает производительность работы жестких дисков

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

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