Логические структуры и файловые системы жестких дисков. Основные дисковые структуры и процесс загрузки, страница 9

Следовательно, необходимо минимизировать степень "разброса" файла по диску. В идеальном случае каждый файл должен быть "непрерывным" (смежным - contiguos), т.е. каждый занятый им кластер должен находиться рядом с другим. Это позволяет считать весь файл без механического перемещения головок. Имеются утилиты, которые оптимизируют диск, перестраивая файлы таким образом, что они становятся смежными. Этот процесс называется дефрагментацией (defragmentation), а реализующие его утилиты называются дефрагментаторами (defragmenters). Наиболее известным дефрагментатором является SpeedDisk, программа DEFRAG для DOS и встроенный дефрагментатор для Windows.

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

Ошибки файловой системы FAT

Из-за того, каким образом файловая система FAT распределяет пространство и сцепляет файл, со временем в FAT могут появиться некоторые ошибки. Здесь речь идет об ошибках в логической структуре диска, а не о физических ошибках, дефектных секторах и т.п. Большинство рассматриваемых далее ошибок можно обнаружить с помощью стандартной программы контроля диска, например SCANDISK или Norton Disk Doctor (NDD), которая контролирует целостность файловой системы.

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

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

Приведем наиболее распространенные ошибки файловой системы FAT:

·  Потерянные кластеры: Практически каждый пользователь DOS встречался с данной проблемой. Потерянными (и даже "сиротливыми") кластерами называются такие кластеры, которые отмечены в FAT как занятые, но которые система не смогла привязать ни к одному файлу. Каждый файл состоит из последовательности кластеров, которую можно проследить, начиная с элемента каталога и проходя по связанному списку кластеров до конца файла. Программы контроля диска могут проверить наличие потерянных кластеров во всем дисковом томе с помощью следующей процедуры. Вначале создается копия FAT в памяти и отмечаются все занятые кластеры. Начиная с корневого каталога для всех каталогов и подкаталогов необходимо проследить кластеры, занятые каждым файлом и отметить их как "учтенные". После этого каждый файл, отмеченный в FAT как занятый, должен быть и учтенным. Любой кластер, который занят, но не учтен, оказывается "сиротой", т.е. не принадлежит никакому файлу. Потерянные кластеры обычно появляются в результате прерванных файловых операций. Программа, которая находит их, обычно предлагает вариант очистки их (отметки их как доступные и возвращения в пул свободного дискового пространства) или сохранения их как файл. Во втором случае программа образует имя файла и привязывает потерянные кластеры к этому имени, а в результате формируется настоящий файл. Обычно этот файл окажется искаженным или поврежденным, но часто можно просмотреть "сиротливые" данные и иногда восстановить их.

·  Файлы с перекрестными связями: В редких случаях два файла могут указывать на одни и те же дисковые данные. Оба файла имеют одинаковые номера начального кластера в элементах каталога. Это вызывает проблему, так как всякий раз при использовании любого файла будет перезаписываться другой. Единственное решение этой проблемы состоит в том, чтобы образовать новые копии каждого файла. При этом теряется содержание того или другого файла; действительно, к моменту обнаружения этой проблемы уже потеряно содержание одного из файлов, так как ни один из кластеров не может одновременно содержать информацию из двух файлов.

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

·  Ошибки распределения или FAT: Иногда элементы FAT могут оказаться искаженными или установленными на неверные значения. По-прежнему, большинство программ контроля диска обнаруживают и исправляют такие ошибки "на лету".

Организация разделов, размеры разделов

Организация разделов (partitioning) на жестком диске заключается в разделении его на части - логические тома. Эта операция обычно выполняется при конфигурировании нового жесткого диска, так как разделы являются основными дисковыми структурами, определяющими организацию диска. Фактически выполнять организацию разделов до форматирования и использования диска необходимо даже в том случае, если она сводится к одному разделу.