Ф. С. FAT12

Файловая система FAT (File Allocation Table) была разработана Биллом Гейтсом и Марком МакДональдом в 1977 году и первоначально использовалась в операционной системе 86-DOS. Чтобы добиться переносимости программ из операционной системы CP/M в 86-DOS, в ней были сохранены ранее принятые ограничения на имена файлов. В дальнейшем 86-DOS была приобретена Microsoft и стала основой для ОС MS-DOS 1.0, выпущенной в августе 1981 года. FAT была предназначена для работы с гибкими дисками размером менее 1 Мбайта, и вначале не предусматривала поддержки жестких дисков. В настоящее время FAT поддерживает файлы и разделы размеров до 2 Гбайт.

В FAT применяются следующие соглашения по именам файлов:

    • имя должно начинаться с буквы или цифры и может содержать любой символ ASCII, за исключением пробела и символов "/\[]:;|=,^*?
    • Длина имени не превышает 8 символов, за ним следует точка и необязательное расширение длиной до 3 символов.
    • регистр символов в именах файлов не различается и не сохраняется.

Структура раздела FAT изображена на рисунке 2. В блоке параметров BIOS содержится необходимая BIOS информация о физических характеристиках жесткого диска. Файловая система FAT не может контролировать отдельно каждый сектор, поэтому она объединяет смежные сектора в кластеры (clusters). Таким образом, уменьшается общее количество единиц хранения, за которыми должна следить файловая система. Размер кластера в FAT является степенью двойки и определяется размером тома при форматировании диска (табл. 2). Кластер представляет собой минимальное пространство, которое может занимать файл. Это приводит к тому, что часть пространства диска расходуется впустую. В состав операционной системы входят различные утилиты (DoubleSpace, DriveSpace), предназначенные для уплотнения данных на диске.

Загрузочный сектор Блок параметров BIOS (BPB) FAT FAT (копия) Корневой каталог Область файлов

Рис. 2

Свое название FAT получила от одноименной таблицы размещения файлов. В таблице размещения файлов хранится информация о кластерах логического диска. Каждому кластеру в FAT соответствует отдельная запись, которая показывает, свободен ли он, занят ли данными файла, или помечен как сбойный (испорченный). Если кластер занят под файл, то в соответствующей записи в таблице размещения файлов указывается адрес кластера, содержащего следующую часть файла. Из-за этого FAT называют файловой системой со связанными списками. Оригинальная версия FAT, разработанная для DOS 1.00, использовала 12-битную таблицу размещения файлов и поддерживала разделы объемом до 16 Мб (в DOS можно создать не более двух разделов FAT). Для поддержки жестких дисков размером более 32 Мб разрядность FAT была увеличена до 16 бит, а размер кластера - до 64 секторов (32 Кб). Так как каждому кластеру может быть присвоен уникальный 16-разрядный номер, то FAT поддерживает максимально 216, или 65536 кластеров на одном томе.

Размер раздела Размер кластера Тип FAT
< 16 Мб 4 Кб FAT12
16 Мб – 127 Мб 2 Кб FAT16
128 Мб – 255 Мб 4 Кб FAT16
256 Мб – 511 Мб 8 Кб FAT16
512 Мб – 1023 Мб 16 Кб FAT16
1 Гб – 2 Гб 32 Кб FAT16


На диске также могут присутствовать: системная область (1 - 20 секторов) и несколько копий FAT (чаще всего одна), так что размер FAT нужно умножать на число копий.

Каталоги (папки).

Каталоги, как уже говорилось, являются обычными файлами, у которых установлен атрибут каталога в описании файла. В данном файле находятся специальные структуры, размером 32 байта, описывающие файлы и папки, содержащиеся в нём. Каждая структура описывает один файл или каталог. В ней указано имя файла, его атрибуты, номер первого кластера, даты создания и изменения, размер. Данные описатели разрабатывались ещё для DOS, и под имя файла зарезервировано только 11 байт (8 под имя и 3 под расширение) из 32. Отсюда и появилось пресловутое "короткое имя" в Windows - оно занимает один описатель в каталоге. Windows пользуется длинными именами, занимая под имя файла несколько описателей (в зависимости от длины имени). Записи в каталоге никак не сортируются, поэтому при большом количестве файлов в каталоге, поиск файла может быть затруднен. Первые два описателя имеют имена "." и "..", и описывают текущий каталог и родительский соответственно.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: