(деся- ¦ (шестнад-¦ Размер ¦ Название ¦ Содержимое
тичное) ¦цатиричное) ¦ ¦
ДДДДДДДДД†ДДДДДДДДДД†ДДДДДДДД†ДДДДДДДДДДД†ДДДДДДДДДДДДДДДДДДД
0 ¦ 00 ¦ 1 байт ¦Состояние ¦0 = неактивное
¦ ¦ ¦разделения ¦80h = начально
¦ ¦ ¦ ¦загружаемое,
¦ ¦ ¦ ¦активное
1 ¦ 01 ¦ 1 байт ¦Начальная ¦Целое число
¦ ¦ ¦головка ¦
2 ¦ 02 ¦ 1 слово¦Начальный ¦См. примечание*
¦ ¦ ¦сектор и ¦
¦ ¦ ¦цилиндр ¦
4 ¦ 04 ¦ 1 байт ¦Тип разде- ¦1 = DOS с 12-битовой
¦ ¦ ¦ления** ¦ таблицей FAT
¦ ¦ ¦ ¦4 = DOS с 16-битовой
¦ ¦ ¦ ¦ таблицей FAT
¦ ¦ ¦ ¦5 = расширенная DOS
5 ¦ 05 ¦ 1 байт ¦Конечная ¦Целое число
¦ ¦ ¦головка ¦
6 ¦ 06 ¦ 1 слово¦Конечный ¦См. примечание*
¦ ¦ ¦сектор и ¦
¦ ¦ ¦цилиндр ¦
8 ¦ 08 ¦ 2 слова¦Начальный ¦Целое число****
¦ ¦ ¦абсолютный ¦
¦ ¦ ¦сектор ¦
12 ¦ 0С ¦ 2 слова¦Количество ¦Целое число****
¦ ¦ ¦секторов ¦
ДДДДДДДДДБДДДДДДДДДДБДДДДДДДДБДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДД
* Таблица разделения диска начинается со смещением
"шестнадцатиричное 01ВЕ" в исходной записи началь-
ной загрузки (1-ый абсолютный сектор жесткого дис-
ка). Таблица разделения диска содержит сведения о
начале начальной головки, цилиндра и сектора записи
начальной загрузки для активной части.
** Типы дополнительного разбиения используются некото-
рыми производителями для идентификации их системы
или для идентификации дисков большой емкости, раз-
деленных на несколько логических дисков.
*** Разделение расширенной операционной системы DOS
поддерживается только под управлением операционной
системы MS-DOS версии 3.30 и выше.
**** Цилиндр и сектор помещаются в битовую позицию - за-
кодированное обозначение, применяемое к начальному/
конечному цилиндру и сектору.
байт n байт n+1
¦<ДДДДДДДДДДДДДДДДДДДДДДДДДДДДД>†<ДДДДДДДДДДДДДДДДДДДДДДДДДДДДД>ґ
ГДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДґ
¦ C ¦ C ¦ S ¦ S ¦ S ¦ S ¦ S ¦ S ¦ C ¦ C ¦ C ¦ C ¦ C ¦ C ¦ C ¦ C ¦
АДДДБДДДБДДДБДДДБДДДБДДДБДДДБДДДБДДДБДДДБДДДБДДДБДДДБДДДБДДДБДДДЩ
Cтар- Cтар- Млад- Млад-
ший ший ший ший
бит бит бит бит
Два самых старших бита байта "n" предшествуют восьми битам
байта "n+1" для образования 10-битового номера цилиндра.
Шесть младших битов байта "n" образуют номер сектора.
- 11-33 -
Несмотря на то, что сектора таблицы FAT расположены следую-
щими в последовательности секторов на диске, мы должны пропустить
их и сначала обсудить сектора каталога. Вы должны понять смысл
секторов каталога для того, чтобы понять, что размещается на ос-
тальной части диска.
Сектора каталога
Сектора каталога содержат информацию о каталоге для всех
файлов в корневом каталоге диска. Информация для файлов, содержа-
щихся в подкаталогах, хранится в файле подкаталога, элемент для
которой помещен в его родительский каталог (корневой или другой
подкаталог). Когда вы выдаете команду DIR, информацию получают из
секторов каталога, если считывается корневой каталог, или получа-
ют из файла подкаталога, описывающего текущий подкаталог. Пос-
кольку один сектор обычно занимает 512 байтов в длину, мы можем
легко вычислить, что каждый элемент каталога имеет длину 32 бай-
та. Общее количество элементов в корневом каталоге зависит от то-
го, сколько секторов каталога задано. Например, односторонние
гибкие диски имеют всего 64 элемента в корневом каталоге, в то
время, как двухсторонние 40-трековые диски имеют 112 таких эле-
ментов, а двухсторонние 80-трековые 5,25-дюймовые диски имеют 224
элемента в корневом каталоге.
Для большинства жестких дисков общее количество элементов в
каталоге зависит от того, как был отформатирован диск. Каждый ва-
риант разбиения жесткого диска имеет максимальное количество эле-
ментов корневого каталога, которое соответствует регистрам частей
разбиения. Общее количество элементов корневого каталога опреде-
ляет максимальное количество имен файлов, которое может быть по-
мещено в корневой каталог. Это ограничение, однако, не распрост-
раняется на подкаталоги. Поскольку элементы подкаталога,
соответствующие размещенным в подкаталогах файлам, сами помещены
в файл описания подкаталога, не существует ограничений на коли-
чество файлов, помещенных в подкаталог; файл описания подкаталога
может увеличиваться по мере надобности.
Информация, содержащаяся в элементе каталога, подразделяется
на шесть компонентов, четыре из которых прямо или косвенно отно-
сятся к восстановлению стертых файлов. На рисунке 11-4 показаны
составляющие части элемента каталога, длина каждого компонента и
определение каждого из них.
Четырьмя частями элемента каталога, с которыми мы будем
иметь дело, как показано на рисунке 11-4, являются: имя и тип
файла, атрибут (атрибуты ), начальный кластер и размер файла.
Имя файла, тип файла и состояние файла
Имя и тип файла состоят из 11 байтов, в которых представлено
имя файла, которому соответствует элемент каталога. Каждый байт
содержит символ АSCII.
В операционной системе MS-DOS версии 2.0 и выше имя файла в
элементе каталога всегда относится к файлу, хранящемуся в корне-
вом каталоге. Поскольку имена подкаталогов считаются операционной
системой MS-DOS файлами, они также имеют свои элементы в секторах
каталога. Имя подкаталога, однако, содержит информацию в элементе
каталога, который слегка отличается от обычных файлов. Ниже в
разделах этой главы мы обсудим эти различия.
- 11-34 -
Атрибут
¦<ДДДДДДДДДДДДДД 11 байтов ДДДДДДДДДДДДДДДДД>¦ (1 байт)
¦<ДДДДДДДДДДД Имя файла ДДДДДДД>¦<ДДДТипДДДД>¦
ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДДДДВДД
¦ xx xx xx xx xx xx xx xx xx xx xx ¦ xx ¦ < ДД¬
¦ 0 1 2 3 4 5 6 7 8 9 10 ¦ 11 ¦ > ¦
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДБД/ ¦
¦ ¦ ¦
¦ ¦
Состояние файла ¦
или первый символ ¦
имени файла ¦
¦
ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
¦
¦
¦ Зарезервировано операционной Штамп о времени
¦ cистемой MS-DOS и дате
¦ ¦<ДДДДДДДД (10 байтов) ДДДДДДДД>¦<ДДД (4 байта) ДД>¦
¦ ¦ ¦<ДВремяД>¦<ДДатаД>¦
¦ ДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДВДДДДДДДДВДД
АД> < ¦ xx xx xx xx xx xx xx xx xx xx ¦ xx xx ¦ xx xx ¦ < Д¬
> ¦ 12 13 14 15 16 17 18 19 20 21 ¦ 22 23 ¦ 24 25 ¦ > ¦
/ДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДБДДДДДДДДБД/ ¦
ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
¦
¦ Начальный кластер Размер файла
¦ ¦<Д(2 байта)Д>¦<ДДДДДД(4 байта)ДДДДДДД>¦
¦ ДДВДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДД¬
АДД> < ¦ xx xx ¦ xx xx xx xx ¦
> ¦ 26 27 ¦ 28 29 30 31 ¦
/ДДБДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДЩ
Рис. 11-4. Компоненты элемента каталога:
1 - 11 байтов; 2 - атрибут (1 байт); 3 - имя файла; 4 - тип;
5 - состояние файла или первый символ имени файла; 6 - зарезерви-
ровано для операционной системы MS-DOS (10 байтов); 7 - штамп о
времени и дате (4 байта); 8 - время; 9 - дата; 10 - начальный
кластер (2 байта); 11 - размер файла (4 байта)
- 11-35 -
Отметим также, что под управлением операционной системы
MS-DOS версии 2.0 и выше, максимальное число файлов или элементов
каталога, которые гибкий диск может вместить (64, 112 и 224), со-
ответствует только объему корневого каталога. Поскольку все фай-
лы, размещенные в подкаталоге, имеют каталоговые элементы в самом
подкаталоге "файл", не существует ограничений на количество фай-
лов, которые можно разместить на диске в пределах места, предус-
мотренного конкретным типом диска или формата. Подробнее о подка-
талогах и восстановлении файлов мы поговорим позже в этой главе.
При стирании файла с диском происходят две вещи. Первым за-
трагиваемым элементом является первый символ имени файла в эле-
менте каталога. Как показано на рисунке 11-4, первый байт в эле-
менте каталога может либо указывать состояние файла, либо предс-
тавлять первый символ ASCII в имени файла. Если элемент каталога
не был использован с момента последнего форматирования диска,
первый байт всегда установлен в значение "00". Таким образом опе-
рационной системе MS-DOS нужно только считать первый байт элемен-
та каталога для определения, может ли он использоваться. При соз-
дании файла первый байт меняется и превращается в первый символ
имени файла. Когда позднее файл стирается, первый байт меняется в
шестнадцатиричное значение "E5". Остальная информация в элементе
каталога, относящегося к стертому файлу, остается прежней. Когда
вы просматриваете сектора диска в поисках информации об элементе
каталога стертого файла, то значение является для вас первым клю-
чом к разгадке нужного элемента каталога.
Вторым ключом, конечно, является представление остальной