Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка1.doc
Скачиваний:
8
Добавлен:
05.12.2018
Размер:
407.55 Кб
Скачать

11.2 Таблица распределения файлов

Назначение таблицы распределения файлов (FAT - File Allocation Table) - распределение дискового пространства для файлов. Если вы создаете новый файл или изменяете существующий, то DOS меняет элементы таблицы файлов в соответствии с расположением файла на диске. FAT содержит элементы для каждого кластера, длина элементов FAT зависит от устройства дисковой памяти. Кластер представляет собой один или несколько секторов.

Элементы FAT определяют кластеры. Каждый такой элемент имеет длину 12-16 битов. Два первых элемента FAT, известные как относительные сектора 000 и 001, соответственно, указывают на два последних сектора оглавления, определяя его размер и формат. Первый файл данных начинается на относительном секторе 002. Каждый элемент FAT состоит из трех шестнадцатиричных цифр (для 12-битового FATа), которые указывают на характер использования конкретного сектора:

000 свободный кластер,

nnn относительный номер следующего кластера для файла,

FF7 неиспользуемый кластер (сбойная дорожка),

FFF последний кластер файла.

Предположим, например, что дискета содержит только один файл с именем TEST.ASM, занимающий относительные сектора 002, 003 и 004. Элемент оглавления для этого файла содержит имя файла TEST, тип - ASM, шест.00 для обычного файла, дату создания, 002 - номер первого относительного сектора файла и размер файла в битах. Таблица FAT в этом случае может выглядеть следующим образом (кроме того, что в каждой паре байты в обратной последовательности):

Элемент FAT: ¦FDF¦FFF¦003¦004¦FFF¦000¦000¦...¦000¦

Относительн.сектор: 0 1 2 3 4 5 6 ...конец

Первые два элемента FAT указывают расположение каталога на относительных секторах 000 и 001. Для ввода рассматриваемого файла в память, система выполняет следующие действия:

1. DOS получает доступ к дискете и ищет в каталоге имя

TEST и тип ASM.

2. Затем DOS определяет по каталогу положение первого относительного сектора файла (002) и загружает содержимое этого сектора в буферную область в основной памяти.

3. Номер второго сектора DOS получает из элемента FAT, соответствующего относительному сектору 002. Этот элемент содержит 003. Это обозначает, что файл продолжается в относительном секторе 003. DOS загружает содержимое этого сектора в буфер в основной памяти.

4. Номер третьего сектора DOS получает из элемента FAT, соответствующего относительному сектору 003. Этот элемент содержит 004, значит файл продолжается в относительном секторе 004. DOS загружает содержимое этого сектора в буфер в основной памяти.

5. Элемент FAT для относительного сектора 004 содержит FFF, что свидетельствует о том, что больше нет данных для этого файла.

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

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