части имени файла и ее набор в формате ASCII. Но первый символ
шестнадцатиричного значения "E5" говорит о том, что элемент ката-
лога представляет собой стертый файл. Этот байт установлен в та-
кое значение для того, чтобы операционная система MS-DOS знала,
что элемент каталога освободился и в него может быть внесена ин-
формация о новом файле, если этот элемент потребуется системе.
Слава богу, разработчики операционной системы MS-DOS предусмотре-
ли такой способ удаления файлов. Благодаря этому, мы теперь можем
(в большинстве случаев) восстановить только что стертый файл.
Атрибут
Байт атрибута содержит информацию об атрибутах размещения
файла. Атрибуты указывают, как операционная система MS-DOS ведет
себя с файлом. В таблице 11-3 даны определения каждого атрибута и
соответствующие шестнадцатиричные значения, которые могут быть
помещены в байт атрибута. Каждый бит этого байта определяет ка-
кой-то конкретный атрибут и принимает значение "1" , когда этот
атрибут назначается файлу.
Отметим, что файлу может быть назначено несколько атрибутов.
Например, если файлу назначены атрибуты "только для чтения"
(шестнадцатиричное значение 01) и "скрытый" ("только для чтения")
(шестнадцатиричное значение 02), результирующее значение в байте
атрибута будет представлять собой сумму обоих значений атрибутов,
то есть шестнадцатиричное значение 03. Информация, содержащаяся в
байте атрибута может быть, а может не быть полезной для восста-
новления файла. Например, маловероятно, чтобы мы стали пытаться
восстанавливать файл, атрибутом которого было значение "только
для чтения", если только мы не пытаемся восстановить весь разру-
шенный диск. Обычно, мы не заботимся об атрибутах файла. Но, ес-
ли, однако, мы восстанавливаем файл с атрибутом "скрытый", мы за-
хотим изменить этот атрибут, потому что в противном случае мы не
- 11-36 -
сможем увидеть этого файла при выдаче команды DIR, а, следова-
тельно, не сможем убедиться в том, что файл был восстановлен.
Другая причина, по которой мы можем захотеть обращаться к байту
атрибута файла, заключается в желании восстановления имени подка-
талога.
Таблица 11-3
Определение атрибутов файла
ДДДДДДДВДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Бит ¦ Шестнадцатирич-¦ Атрибут
¦ ное значение ¦
ДДДДДДД†ДДДДДДДДДДДДДДДД†ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
1-ый ¦ 80 ¦Не определен (в операционной системе
¦ ¦МS-DOS версии 3.0 и ниже)
2-ой ¦ 40 ¦Не определен (в операционной системе
¦ ¦МS-DOS версии 3.0 и ниже)
3-ий ¦ 20 ¦Состояние архива: Устанавливается
¦ ¦когда файл открывается и закрывается
¦ ¦и используется некоторыми утилитами
¦ ¦копирования и восстановления жесткого
¦ ¦диска
4-ый ¦ 10 ¦Элемент подкаталога: Указывает на то,
¦ ¦что элемент каталога относится к под-
¦ ¦каталогу "файл"
5-ый ¦ 08 ¦Метка тома: Указывает на то, что эле-
¦ ¦мент каталога содержит метку тома
¦ ¦(только для версий 2.0 и выше опера-
¦ ¦ционной системы DOS); в остальной
¦ ¦части элемента содержится ненужная
¦ ¦информация
6-ой ¦ 04 ¦Состояние системы: используется для
¦ ¦указания системных файлов, таких, как
¦ ¦те, что используются для начальной
¦ ¦загрузки системы. Файлы начальной заг-
¦ ¦рузки операционной системы MS-DOS
¦ ¦(например, файлы IBMDOS.СОМ и
¦ ¦IBMBIO.СОМ ) должны иметь этот атрибут
¦ ¦установленным.
7-ой ¦ 02 ¦Состояние "скрытый". Файл исключается
¦ ¦из нормального просмотра каталога
8-ой ¦ 01 ¦Состояние "только для чтения": Файл не
¦ ¦может быть стерт.
ДДДДДДДБДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Начальный кластер
Начальный кластер представляет собой 2-байтовый, 16-цифровой
двоичный номер, который определяет первую секцию диска, занятую
файлом. Эта секция диска называется кластером. Несмотря на то,
что на рисунке 11-1 изображен форматированный диск с точки зрения
треков и секторов, операционная система MS-DOS в действительности
рассматривает диск с точки зрения кластеров секторов, а не от-
дельных целых секторов. Начальный кластер представляет собой ис-
ходный "указатель" на первый сектор данных файла, а также на пос-
- 11-37 -
ледующие указатели в секторах таблицы FAT. Считав этот начальный
указатель в элементе каталога, операционная система MS-DOS про-
должает считывать остальные указатели на сектора данных файлов в
секторе таблицы FAT. Ниже мы будем говорить о секторах таблицы
FAT, но сейчас отметим, что обращение к начальному кластеру явля-
ется одним из наиболее важных первых шагов в восстановлении стер-
тых или разрушенных файлов.
Размер файла
Размер файла представлен 4-байтовым двоичным числом, первый
байт которого представляет собой младшую часть размера файла.
Четвертый байт является старшей частью размера файла, и мы ис-
пользуем это значение для определения точной длины файла, и тем
самым для определения количества секторов, которые занимал стер-
тый файл или предполагается, что он занимал.
Теперь, после того, как были определены важные части элемен-
та каталога, мы переходим к рассмотрению секторов таблицы FAT.
Информация в этих секторах представляет дополнительные ключи для
разгадки того, как стертый или разрушенный файл может быть восс-
тановлен.
Элементы каталога "." и ".."
Только что описанная каталоговая информация действительна
для всех файлов, хранящихся под управлением операционной системы
MS-DOS, за исключением двух специальных типов элементов каталогов
- элементов "." и ".." в подкаталогах. Элемент каталога "." со-
держит информацию по текущему подкаталогу, а элемент ".." содер-
жит информацию по родительскому каталогу для текущего каталога. В
таблице 11-4 описывается содержимое каждого поля элементов ката-
лога для каталогов "." и "..".
Таблица 11-4
Содержимое элементов каталога "." и ".."
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
"." (Текущий) каталог
ДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Поле ¦ Содержимое поля
ДДДДДДДДДДДДДД†ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Имя/тип ¦ Первый байт = шестнадцатиричное значение "2Е",
¦ остальная часть = 00
Атрибут ¦ Только состояние каталога (шестнадцатиричное
¦ значение 10)
Время ¦ Время создания
Дата ¦ Дата создания
Начальный ¦ Номер кластера текущего каталога
кластер ¦
Размер ¦ Пробел (размер задается в элементе родитель-
¦ ского каталога для этого каталога)
--------------------------------------------------------------
- 11-38 -
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
".." (Родительский) каталог
ДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Поле ¦ Содержимое поля
ДДДДДДДДДДДДДД†ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Имя/тип ¦ Первый и второй байты = шестнадцатиричное
¦ значение "2Е", остальная часть = 00
Атрибут ¦ Только состояние каталога (шестнадцатиричное
¦ значение 10)
Время ¦ Время создания
Дата ¦ Дата создания
Начальный ¦ Номер кластера родительского каталога только
кластер ¦ тогда, когда родительским является не корневой
¦ каталог
Размер ¦ Пробел
ДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Cектора таблицы размещения файла (FAT)
Сектора, содержащие таблицу FAT, используются операционной
системой MS-DOS для определения местоположения на диске каждой
части каждого файла. В отличие от некоторых операционных систем,
которые всегда располагают файлы последовательно и используют
сектора непрерывно, операционная система MS-DOS может размещать
файлы и части одного файла произвольным образом. Система, которая
всегда располагает файлы последовательно, более просто может от-
слеживать местоположение файлов, а, следовательно, может обра-
щаться к файлам более быстро. Для восстановления файла, располо-
женного непрерывно, нам нужно знать только адреса его начала и
конца. Все данные в этом промежутке являются данными файла.
Несмотря на сказанное, непрерывное размещение файлов менее
эффективно, когда например, файл, расположенный между другими
файлами, удаляется и его место должен занять больший по размеру.
И если освободившегося после удаления файла места недостаточно
для размещения нового файла, для этого нового файла должно выде-
ляться достаточное непрерывное пространство после последнего из
уже размещенных на диске файлов. Если на диске уже нет достаточ-
ного места для помещения файла, диск считается полным. Это может
вызывать реальные трудности при использовании гибких дисков со
сравнительно малой емкостью памяти, потому что большое количество
свободной памяти тратится впустую. Операционная система MS-DOS и
сходные с ней микрокомпьютерные операционные системы, располагаю-
щиеся на жестком диске, были так разработаны, что позволяют ис-
пользование произвольного размещения, а также последовательного
или непрерывного размещения. Информация в секторах таблицы FAT
позволяет операционной системе MS-DOS выполнять это.
Когда диск первый раз форматируется операционной системой