Гультяев Алексей Константинович
Шрифт:
Отказоустойчивость (а точнее, способность к самовосстановлению) NTFS основана на использовании понятия транзакции. Суть технологии восстановления состоит в следующем. Любая операция, связанная с модификацией данных, заносится в файл протокола. Если все действия, необходимые для выполнения операции, завершаются удачно, транзакция считается выполненной. В противном случае на основе протокола выполняется отмена частично выполненной операции.
Кроме того, с периодичностью в несколько секунд NTFS фиксирует текущее состояние системы, запоминая его основные параметры в так называемой контрольной точке. В случае возникновения серьезной ошибки производится возврат к состоянию, зафиксированному в последней контрольной точке.
Следует отметить и наличие специфических сервисов NTFS, непосредственно встроенных в эту систему: возможность шифрования файлов и возможность сжатия данных.
В силу перечисленных факторов логическая структура NTFS несколько сложнее по сравнению с FAT, однако некоторые общие черты все-таки имеются.
NTFS, как и FAT, распределяет дисковое пространство кластерами, но для адресации кластера в ней отводится не 32, а 64 разряда. Это дает возможность нумеровать свыше 16 миллиардов кластеров. Размер кластера в NTFS может меняться, но он не зависит жестко от размера диска (или раздела). Для маленьких дисков стандартным размером кластера считается 512 байт, для больших – 4 Кбайт.
ПРИМЕЧАНИЕ
Оптимальный размер кластера устанавливается автоматически стандартной утилитой форматирования FDISK NTFS при форматировании раздела, однако впоследствии пользователь может изменить этот размер с помощью одной из программ для работы с дисками.
Теперь непосредственно о логической структуре раздела, отформатированного под файловую систему NTFS.
В силу объектного подхода все элементы раздела, в том числе служебные, рассматриваются в NTFS как файлы с определенным набором атрибутов. Файлы со служебной информацией называются файлами метаданных, или метафайлами. К ним относятся (рис. 3.8):
загрузочный файл (Boot File), в котором находится код программы начальной загрузки операционной системы, параметры физического диска, на котором размещается раздел NTFS (тип носителя, число дорожек и головок), а также размер кластера данного раздела NTFS, адрес MFT и адрес ее копии; загрузочный файл размещается в первом секторе диска NTFS, а его резервная копия располагается в конце раздела (в NTFS-4 она начиналась с позиции, соответствующей логическому центру раздела);
главная таблица файлов, MFT (Master File Table); MFT расположена в самом начале раздела (после загрузочной записи) и состоит из записей, которые содержат атрибуты всех файлов тома, в том числе атрибуты метафайлов; первая запись MFT хранит атрибуты самой MFT; за ней следует запись, указывающая на расположение частичной копии MFT (она содержит записи, относящиеся только к метафайлам), записи с третьей по шестнадцатую отведены под атрибуты других метафайлов; семнадцатая и последующие записи главной файловой таблицы используются собственно файлами и каталогами на томе; при создании этого файла его размер составляет всего около 16 Кбайт, но он увеличивается по мере создания на диске файлов и папок. Для каждого нового файла в MFT добавляется запись размером 1024 байт (1 Кбайт);
файл журнала транзакций (Log File); о его назначении было сказано ранее;
файл тома (Volume File), содержащий метку тома, версию NTFS, для которой он отформатирован, и признак, который, будучи установленным, говорит, что том поврежден и должен быть исправлен стандартной утилитой операционной системы Chkdsk;
таблица определения атрибутов (Attribute Definition Table), которая задает типы атрибутов файлов, поддерживаемые на томе, и перечень допустимых операций над ними;
корневой каталог, содержащий индекс файлов и папок, хранящихся в корне дерева папок тома; получив первый запрос на открытие некоторого файла, NTFS начинает поиск этого файла с файловой записи корневого каталога;
файл битовой карты (BITMAP), который хранит схему распределения пространства на томе; каждый бит этой карты соответствует определенному кластеру тома и указывает, свободен ли данный кластер или распределен некоторому файлу;
файл плохих кластеров (Bad Cluster File) – него заносятся номера всех поврежденных кластеров (для которых не удалось выполнить операцию чтения или записи).
Рис. 3.8. Логическая структура раздела файловой системы NTFS
ПРИМЕЧАНИЕ
Под логическим центром диска в данном случае понимается кластер, номер которого равен половине размера диска (для дисков с нечетным числом кластеров центр смещен на 1 позицию «влево»).
Имена всех метафайлов начинаются с символа $. Например, файл главной таблицы называется $MFT. Эти файлы нельзя читать или копировать обычными средствами ОС (например, с помощью Windows Explorer). Тем не менее существуют специальные инструменты, позволяющие не только открывать, но и редактировать служебную информацию NTFS. Некоторые из таких инструментов будут рассмотрены в разделе «Восстановление структуры файловой системы NTFS» главы 7.
Конфигурирование логических дисков
Теперь, когда вы знаете о «внутреннем мире» жесткого диска почти все, мы можем перейти к рекомендациям относительно его правильного использования в вашем компьютере.
Обычно будущий пользователь приобретает компьютер с предустановленной операционной системой. При этом, как правило, жесткий диск сконфигурирован таким образом, что на нем имеется единственный раздел – основной. Нечасто также встречаются в продаже конфигурации компьютеров с двумя или более жесткими дисками. Необходимость обзавестись дополнительным HDD осознается лишь через некоторое (более или менее продолжительное) время. К этому моменту на исходном диске уже имеется изрядное количество установленных программ и файлов с разнообразными данными. Причем половину из них хотелось бы «перебросить» на новый диск. А создание резервной копии данных при наличии единственного HDD представляется невозможным. Дополнительные проблемы появляются в том случае, если возникает непреодолимое желание (или необходимость) установить новую операционную систему, сохранив при этом работоспособность установленных ранее программ. Или начинает лавинообразно возрастать число сбойных секторов в системном разделе, в связи с чем приходится перемещать его на новое место. Или объем раздела, отведенного под пользовательские данные, оказывается недостаточным, и его приходится увеличивать за счет других разделов.