Основные логические области диска

Стартовый сектор (сектор начальной загрузки, Вооt - сектор),

Таблица размещения файлов (FAT - File Allocation Table),

Корневой Каталог (Root-Directory),

Область данных (оставшееся свободным дисковое пространство) - основные логические области магнитного диска.

Рассмотрим подробнее функции и организацию каждой области.

Стартовый сектор (сектор начальной загрузки или Boot - ceктор (адрес - дорожка 0, сторона 0, сектор 1).

Как указывалось ранее, сектор начальной загрузки с МД считывается в память, ему передается управление и начальный загрузчик проверяет, содержаться ли на диске файлы IO.sys и MS DOS.sys (является ли диск системным), и если да, то начинает процесс загрузки ОС в память. Но кроме программы начального загрузчика в этом секторе находится таблица параметров размещения информации на МД.

Здесь записана информация, необходимая MS DOS для работы с диском :

- идентификатор OS (если диск системный);

- размер сектора диска;

- кол-во секторов в кластере;

- кол-во резервных секторов в начале диска;

- кол-во копий FAT на диске (стандарт - две);

- кол-во элементов в каталоге;

- кол-во секторов на диске - тип формата диска;

- кол-во секторов в FAT;

- кол-во секторов на дорожку;

- кол-во поверхностей;

- блок начальной загрузки OC.

Благодаря этой таблице, ОС имеет возможность работать с дисками различных форматов. Для этого перед обращением к информации на диске таблица считывается в память, из нее извлекаются нужные параметры и вычисляются необходимые величины, такие как начальный логический сектор корневого оглавления и начальный логический сектор области данных диска.

FAT (таблица размещения файлов):

Область данных диска представлена в MS DOS как последовательность пронумерованных кластеров.

FAT - это массив элементов, адресующих кластеры области данных диска.

Элементы FAT служат в качестве цепочки ссылок на кластеры файла в области данных FAT - крайне важный элемент Файловой Структуры! Нарушения в FAT могут привести к ПОЛНОЙ или ЧАСТИЧНОЙ потери информации на ВСЕМ логическом диске! Именно поэтому, на диске хранитсядве копии FAT. Существуют специальные программы, которые контролируют состояние FAT и исправляют нарушения.

FAT располагается непосредственно после загрузочной записи, начиная с сектора 2 дорожке 0 сторона 0. Размер обоих копий FAT зависит от размера диска. Существует два формата FAT 16-ти разрядный и 32- разрядный.

FAT организованна как таблица, которая может содержать до 4096 чисел в диапазоне от 0 до 4095 (16-ричном коде от 0 до FFFF), которые являются записями для каждого кластера пространства данных. Число в каждой записи указывает на состояние и использование кластера, соответствующего данной записи. Таблица размещения образует цепочку распределенного пространства.

Запись для файла в каталоге содержит номер начального кластера, а записи FAT указывают на последующие кластеры, используемые файлом, и на конец файла. Каждый элемент таблицы соответствует участку дискового пространства и содержит код состояния этого участка: занят, свободен, либо содержит дефект поверхности диска и потому не используется. Поэтому последние 16 комбинаций (F)FF0 – (F)FFF имеют специальное назначение, а в таблице нет элементов (а, следовательно, и кластеров) с такими номерами:

(0)000 – кластер свободен

(F)FF0 – (F)FF6 – кластер зарезервирован

(F)FF7 - плохой (испорченный кластер)

(F)FF8 – (F)FFF – последний кластер файла (EOF)

Другое значение – номер следующего кластера в цепочке

На рисунке 4.9. дано схематичное изображение FAT и показана цепочка элементов FAT (в шестнадцатеричной форме).

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

Корневой Каталог

Это определенная область Диска, создаваемая в процессе инициализации (форматировании) диска, где содержится информация о файлах и каталогах, хранящихся на диске. корневой каталог всегда существует на отформатированном диске! На одном диске всегда бывает только один корневой каталог. Размер корневого каталога для данного диска - величина фиксированная, поэтому максимальное кол-во "привязанных" к нему файлов и других (дочерних) каталогов (подкаталогов) – строго определенное.

Каталог представляет собой таблицу, в которой каждый элемент соответственно файлу или другому каталогу и содержит информацию об имени файла, его размере и т.д. В том числе каталог хранит первый номер первой группы секторов каждого файла (первый элемент таблицы размещения, относящийся к данному файлу). На ЖД размер каталога зависит от размера раздела.

Каталог представляет собой таблицу, в которой каждому файлу на диске (включает подкаталоги и метку тома) соответствует одна запись. Эта запись имеет размер 32-байта, следовательно, на одном секторе, размером 512 байт умещается 16 записей каталога.

 

Таблица 4.1. Описание полей корневого каталога

 

N поля Описание Размер (байт) Формат
Имя файла Символы ASCII
Имя типа файла Символы ASCII
Атрибуты Биты (код)
Служебное поле Не используется
Время создания Слово (код)
Дата создания Слово (код)
Начальный кластер Слово
Размер файла (байт) Целое

 

Описание полей корневого каталога:

Поле 1. Имя файла. Содержит имя файла в формате ASCII. Если имя файла короче восьми символов, то оно дополняется до восьми пробелами. Существуют три особые ситуации, отмеченные специальными значениями первого байта в имени файла:

- неиспользованные элементы каталога имеют первый байт 00. ДОС прекращает просмотр каталога, как только встретит такой элемент;

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

- когда в качестве первого байта имени выступает символ ASCII кодом 2Е (.) - этот символ используется для указания подкаталога. Если и второй байт - точка, тогда третий элемент каталога соответствует каталогу - родителю текущего, а поле начального кластера указывает расположение каталога - родителя.

Поле 2. Имя типа файла Стандартное расширение имени файла, записанное формате ASCII. Длина его - три байта, и, подобно имени файла, если имя его расширение содержит менее трех символов, оно дополняется пробелами. В то время как имя файла должно состоять хотя бы из одного символы, то расширение может иметь только пробелы.

Поле 3. Атрибут файла. Длина третьего поля записи каталога равна одному байту. Каждый разряд этого байта устанавливает категорию записи каталога. Существуют атрибуты файлов: только для чтения, скрытый, системный, метка тома, подкаталог, архивный.

Поле 4. Служебное. Это 10-байтовой поле оставлено для возможного использования в будущем. Все 10 байт имеют 16-ричное значение 00. Поле 5, б Время и дата создания или последней модификации. Поле содержит 2-байтовой значение, указывающее время создания или последнего изменения файла. Оно используется совместно с полем даты, и оба эти поля, взять вместе, могут рассматриваться как одно беззнаковое целое число.

Поле 7. Номер начального кластера.

2-байтовое значение, которое дает номер начального кластера для области данных файла. Оно действует как точка входа в цепочку занятого пространства -файла, находящуюся в FAT. Для файлов, не занимающих области данных, и для записей меток томов номер начального кластера равен 0.

Поле 8. Размер файла в байтах. Кодируется, как 4-байтовое беззнаковое целое позволяющее задавать очень большие размеры файла - фактически много больше,чем емкости наших дисков.

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