headermask image

Как происходит фрагментация файлов в операционных системах Windows XP/Windows Server 2003

Недавно мы провели небольшое исследование с целью выяснить, как именно в Windows XP происходит фрагментация. На последней торговой выставке кое-кто из пользователей утверждал, что если все свободное пространство на жестком диске дефрагментировано и что новые файлы не фрагментируются. Мы решили проверить, так ли это. Выяснилось, что операционные системы Windows XP/2003 фрагментируют файлы вне зависимости от того, дефрагментировано свободное пространство на жестком диске или нет. Давайте посмотрим, как это происходит.

Вот изображение тома «D:» жесткого диска одного из ведущих программистов – раздела, который обычно используется для выполнения основных операций по разработке программного обеспечения.

1197580563_14120703.png

Снимок экрана сделан с помощью приложения Diskeeper 7.0 SE. Нажмите, чтобы увеличить.

Вот как распределено свободное пространство на этом разделе:

3 участка размером в 1 кластер
2 участка размером в 4 кластера
1 участка размером в 844 кластера
1 участка размером в 14702 кластера
1 участка размером в 80000 кластеров
1 участка размером в 288285 кластеров.

Что ж, свободное пространство на диске прекрасно дефрагментировано (за это надо благодарить приложение Diskeeper с функцией рационализации свободного пространства на диске). Продолжая эксперимент, мы запустили Internet Explorer и открыли одну из закладок. После загрузки этой страницы распределение свободного пространства в томе выглядит так:

1197580859_14120703_02.png

Потом мы заглянули на другой сайт из Избранного. После загрузки этих двух страниц распределение свободного пространства на диске выглядит так:

1197580868_14120703_03.png

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

Первая из открытых нами страниц добавила несколько фрагментированных файлов в конец области MFT и после метаданых NTFS. При открытии второй страницы в область после метаданных и в свободное пространство возле уже существующих файлов добавилось еще несколько файлов.Почему это произошло? Ну, одна причина в том, что все эти файлы – файлы кэша Internet Explorer Temporary Files, представляющего собой динамично изменяющийся набор файлов, которые удаляются и добавляются по мере необходимости. Когда временные файлы Интернета из кэша удаляются, образуется свободное место! Хотя свободное пространство на жестком диске было хорошо дефрагментировано, удаление нескольких файлов сразу же после полной дефрагментации привело к образованию новых участков пространства, которые испортили и «аккуратную группировку файлов», и «прекрасную дефрагментацию свободного пространства».Другая причина заключается в том, что алгоритмы распределения свободного пространства в ОС XP/2003 фактически повышают степень фрагментации. В качестве примера рассмотрим файловую систему NTFS.

Драйвер файловой системы NTFS ОС XP/2003 составляет список самых больших участков свободного пространства в разделе жесткого диска. В хорошо дефрагментированном томе – а наш том был как раз хорошо дефрагментирован – ВСЕ участки свободного пространства входят в этот список и становятся объектами распределения.Новый файл создается на свободном пространстве, которое по объему максимально соответствует объему имеющихся данных для записи, то есть, выбирается «наиболее подходящее» пространство. К тому же, по умолчанию предполагается, что новый файл окажется по объему больше, чем известно операционной системе на момент записи, поэтому для файла отводится дополнительное свободное пространство, чтобы не допустить его фрагментации (см. статью Q228198 Базы Знаний Microsoft (Microsoft Knowledge Base)). Предполагается, что файл окажется в 2, 4, 8 или 16 раз больше, чем известно на данный момент, в зависимости от того, какой объем данных уже доступен для записи файла в файловый кэш операционной системы. Данные файла записываются в раздел жесткого диска, и файл закрывается. Все дополнительное пространство, отведенное под этот файл, высвобождается и возвращается в список свободного пространства драйвера файловой системы NTFS, если по объему оно может быть квалифицировано как однин из наиболее крупных участков свободного пространства.

Разумеется, в нашем случае это пространство попадет в список, поскольку наш раздел жесткого диска был очень хорошо дефрагментирован. Если учесть, что мы загружали страницы, на которых была далеко не одна элементарная картинка, в кэш было записано сразу несколько файлов.Обратите внимание: даже простое сохранение нескольких временных файлов Интернета в кэш приводит к дефрагментации из-за высвобождения дополнительного пространства, отведенного под эти файлы! И даже то, что мы дефрагментировали NTFS том «D:» при размере кластера 16К, нам не помогло! А представьте, что было бы, если бы мы выбрали размер кластера 4К или 512 байт!В итоге, только по итогам загрузки пары Интернет-страниц в нашем томе образовалось шесть фрагментированных файлов, хотя свободное пространство было очень хорошо дефрагментировано. Фрагментацию только усугубило то, что все свободное пространство было разделено на четыре очень объемных участка и пять мелких. Мелкие участки стали наиболее востребованными объектами для записи временных файлов Интернета, потому что они были наиболее «подходящими» по объему. Разумеется, можно утверждать, что если бы этих мелких участков не было, они и не стали бы объектами для записи. Но заметьте: временные файлы Интернета удалялись из кэша одновременно, а образовавшиеся участки пространства добавлялись в список свободного пространства, который ведет драйвер файловой системы NTFS.

Вывод таков: в активно используемом разделе жесткого диска, в динамичной операционной системе с динамичными же утилитами, организация свободного пространства постоянно меняется. Это, в сочетании с используемыми алгоритмами распределения свободного пространства, сводит на нет все, чего удалось добиться с помощью самого лучшего приложения по дефрагментации жесткого диска, как только пользователь выходит в Интернет. Что лишний раз доказывает, насколько важна регулярная автоматизированная дефрагментация файлов.И «дефрагментация каждого кусочка свободного пространства» вовсе не гарантирует, что новые файлы не будут фрагментированы файловой системой. Этот принцип действовал для томов FAT в операционной системе DOS, но совершенно не применим к томам NTFS или FAT в ОС Windows XP/2003.Не верите – поэкспериментируйте и убедитесь сами.

Источник:  www.winblog.ru

Похожие посты
  • Настраиваем 2003 Server на обмен маршрутами RIP с роутерами Cisco. Часть 1
  • Windows Server 2008 RC0. О файловом сервере.
  • Веб-трансляция: Внешний доступ к службам RMS (Windows Server 2008)
  • Настраиваем Windows Server 2003 на обмен маршрутами RIP с роутерами Cisco. Часть 2
  • Перенос учетных записей на другой сервер Windows 2003
  • WSUS станет опциональной ролью для Windows Server 2008 Server Manager
  • Создание записей в журнале событий операционной системы Windows Server 2003
  • 1 октября. Веб-трансляция “Windows Server Core: отличия от полной версии Windows Server 2008. Варианты применения.”
  • Веб-трансляция: Особенности служб сертификации в Windows Server 2008
  • Пошаговые руководства по Windows Server 2008 на русском
  • One Comment

    1. “На последней торговой выставке кое-кто из пользователей утверждал, что если все свободное пространство на жестком диске дефрагментировано и что новые файлы не фрагментируются.”
      Чего-то тут не достает ;)

      1. Yando on December 20th, 2007 at 12:43 pm