Файловая система FAT.

Рассмотрим некоторые понятия. Когда мы получаем какой-нибудь диск, мы как правило получаем просто пластину, и для того ,чтобы можно было записывать на эту пластину информацию, для этого существуют процедуры монтирования. Рано или поздно у нас получатся дорожки. Дорожки - это часть поверхности ограниченная двумя концентрическими возможностями. Размер этой дорожки определяется размером той магнитной науки, которая осуществляет считывание или запись информации в пределах дорожки. После формирования дорожек, каждая дорожка разбивается на сектор. Сектор - это часть дорожки или наименьшая адресуемая единица объема дискового пространства. Размер сектора 512 байт. От этого зависит размер буфера. После того, как сектора образованы на всех дорожках нашей пластины, сектора нумеруются, нумерация начинается с 0. Логически все пронумерованные сектора образуют ленту конечной длины. Когда мы говорим об адресации секторов, мы представляем себе какую-то конечную последовательность в виде одномерной ленты, где существуют адреса наших секторов. После того как дорожки разбиты на сектора и сектора пронумерованы, у нас происходит разделение кластеров. Кластер - совокупность смежных секторов, или наименьшая область на диске, предназначенная для размещение одного файла. С другой стороны кластер - это минимальная единица дискового пространства для размещения одного файла. Кластеры пронумерованы с 1. После разбиения на кластеры, диск разбивается на области:

a.        Область начального загрузчика BR (BOOT RECORD). Занимает нулевой сектор и в этой области находятся два больших компонента - 1) сведения о самом диске; 2) программа 0 начальный загрузчик (512 байт), который осуществляет загрузку ОС, т.о. она ищет некоторый файл.

b.        Область таблицы распределения файлов FAT (FILE ALLOCATION TABLE): т.к. эта область очень ценна, то область разбита на 2 идентичные копии и ОС контролирует идентичность этих копий. Каждая копия разбита на блоки. Размер блока определяет разновидность файловой системы: если размер блока 12 бит, то это FAT 12, 16 бит -  FAT 16, 32 бита -  FAT32. Блоки пронумерованы и номер блока соответствует номеру кластера. В каждом блоке находится информация о кластере. Может быть пять вариантов этой информации: 1. кластер свободен, 2. кластер зарезервирован, 3. кластер испорчен, 4. номер следующего кластера, в котором продолжается файл информация в котором содержится в текущем блоке., 5. признак конца файла, который заканчивается в данном кластере. Если мы обратимся к четвертому виду информации, то там находится номер следующего кластера и из размера блока следует сразу то максимальное количество адресов кластеров, которое может быть в данной разновидности файловой системы, а именно 212 - FAT 12, 216  -  FAT 16, 232  -  FAT32. Т.е. максимальное количество кластеров к которым может адресоваться ОС в пределах данной файловой системы. Поэтому FAT 12 предназначена для небольших носителей (гибкие диски).

c.        Область коревого каталога BD (BOOT DIRECTORY). Она имеет конечный размер, т.о. в этой области может находиться конечное число информации. Область разбита на дескрипторы, каждый дескриптор занимает 32 байта и разбит на 8 полей и содержит сведения о каждом файле или каталоге., которые расположены в корневом каталоге. Поля: 1. Имя файла - 8байт (поэтому на имя 8 символов), 2.расширение - 3 байта (поэтому на расширение 3 символа), 3. атрибут - 1 байт, 4.резерв - 10 байт, 5.времяпоследней записи - 2 байта, 6. дата последней записи - 2 байта, 7. номер начального кластера файла - 2 байта (в дескрипторе устанавливается соответствие между логическим именем и реальным местом, где этот файл начинается), 8. размер файла - 4 байта. Атрибут - это набор характеристик файла или каталога. 0-0-1-1-1-1-1-1 .

d.        Область данных DA (DATA AREA). В ней находятся все файлы и каталоги. Область разбита на кластеры. Номера кластеров соответствуют номерам блоков файловой таблицы.

 

Структура дескриптора FAT 32.

Состоит из 12 полей:

 

1. Имя файла - 8 байт,

2.расширение - 3 байта,

3.атрибут - 1 байт,

4.резерв - 2 байта,

5. время создания - 2байта,

 6.дата создания - 2 байта,

7. дата последнего обращения - 2 байта,

8. старшее слово номер начального кластера - 2 байта,

 9. время последней записи - 2 байта,

10. дата последней записи - 2 байта,

11. младшее слово номер начального кластера - 2 байта,

12.размер файла - 4 бай

Hosted by uCoz