Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Абель.docx
Скачиваний:
13
Добавлен:
26.11.2018
Размер:
569.84 Кб
Скачать

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

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

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

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

Предположим, например, что дискета содержит только один файл с именем

PAYROLL.ASM, занимающий относительные сектора 002, 003 и 004. Элемент

оглавления для этого файла содержит имя файла PAYROLL, тип - 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 получает доступ к дискете и ищет в каталоге имя PAYROLL и

тип 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 в элементе, представляющем первый

относительный кластер.

В качестве простого примера рассмотрим элемент каталога, указывающий,

что некоторый файл начинается в относительном кластере 15. Для локализации

первого элемента таблицы FAT необходимо:

- Умножить 15 на 1,5, получим 22,5.

- Выполнить выборку содержимого байтов 22 и 23 из FAT.

Предположим, что они содержат F*FF.

- Переставить байты: FFF*.

- Так как номер 15-нечетный, то первые три цифры - FFF указывают

на отсутствие других кластеров для данного файла.

Теперь рассмотрим файл, который занимает четыре кластера,

начинающихся с номера 15. Таблица FAT, начиная с байта 22 и далее, в этот

pаз показана в правильной обратной последовательности байтов в паpах:

6* 01 17 80 01 FF*F

Для того, чтобы найти первый элемент FAT, необходимо умножить 15 на 1,5,

получим 22,5, и выбрать содержимое байтов 22 и 23, как в предыдущем

примере. В этот раз эти байты содержат 6*01, что после перестановки байт

даст 016*. Так как 15-число нечетное, то используются первые три цифры