Операционная система MS-DOS — страница 4

  • Просмотров 5843
  • Скачиваний 439
  • Размер файла 27
    Кб

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

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

содержат номера следующих используемых данным файлом кластеров. Конец списка отмечен в таблице специальным значением. Номер первого кластера, распределенного файлу, хранится в элементе каталога, описывающего данный файл. Пример использования FAT - таблицы приведен на рис.1. Корневой каталог диска C: Имя файла ... Номер первого кластера, распределенного файлу autoexec.bat ... 11 config.sys ... 12 ... ... ... FAT - таблица ... 17 13 FFFF 00 00 00 18 FFFF 00 ..... кластер 11 12

13 14 15 16 17 18 19 Рис 1. Пример распределения кластеров для файлов autoexec.bat b config.sys FAT - таблица может иметь 12- или 16-битовый формат. При этом в таблице для хранения информации об одном кластере диска используется соответственно 12 или 16 бит. 12-битовый формат удобен для дискет с небольшим количеством секторов - вся FAT - таблица помещается в одном секторе. Первый байт FAT - таблицы называется описателем среды. Он имеет такое же значение , как и

байт - описатель среды, находящийся в загрузочном секторе дика. Следующие 5 байт для 12-битового формата или 7 байт для 16-битового формата всегда содержат значение 0FFh. Остальная часть FAT - таблицы состоит из 12- или 16-битовых ячеек. Каждая ячейка соответствует одному кластеру диска. Эти ячейки могут содержать следующие значения: FAT12 FAT16 Тип кластера 000h 0000h Свободный кластер FF0h-FF6h FFF0h-FFF6h Зарезервированный кластер FF7h FFF7h Плохой кластер

FF8h-FFFh FFF8h-FFFFh Последний кластер в списке 002h - FEFh 0002h-FFEFh Номер следующего кластера в списке Обычно FAT - таблица располагается после загрузочного сектора . Для точного определения начального сектора FAT - таблицы следует прочитать в память загрузочный сектор и проанализировать содержимое блока параметров BIOS. В поле ressect записано количество зарезервированных секторов, которые располагаются перед FAT. Поле fat_size содержит размер FAT в