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

21. Особенности организации некоторых файловых систем

FAT (File Allocation Table)

В настоящее время FAT поддерживает файлы размером до 2Гб.

Рисунок 45 – Структура раздела FAT

Таблица FAT (как основная, так и резервная) состоит из массива индексных указателей, количество которых равно количеству кластеров области данных.

FAT объединяет сектора в кластеры, тем самым уменьшая общее количество единиц хранения, за которыми должна следить ФС. Размер кластера является степенью двойки и определяется размером тома при форматировании.

Таблица FAT является общей для всех файлов раздела. В исходном состоянии (после форматирования) все кластеры раздела свободны и все указатели (кроме тех, которые соответствуют резервным и дефектным блокам) принимают значение «свободен».

FAT – файловая система со связными списками:

При размещении нового файла, ОС просматривает FAT, начиная с начала, и ищет первый свободный индексный указатель. Если файл умещается в одном кластере, то в указатель, соответствующий данному кластеру, заносится в специальное значение «последний кластер файла». Если же размер файла больше одного кластера, то ОС продолжает просмотр FAT и ищет следующий указатель на свободный кластер. После его обнаружения в предыдущий кластер заносится номер этого кластера, который теперь становится следующим кластером файла. Процесс продолжается до тех пор, пока не будут размещены все данные файла.

Оригинальная FAT имела 12 битную таблицу, которая в будущем была увеличена до 16 бит, а размер кластера до 64 секторов (32 Кб).

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

Может иметь место сильная фрагментация, для ее снижения с ОС поставляются специальные утилиты для дефрагментации.

Система медленно работает при большом количестве файлов (1000), выполнение операции считывания файлов может занять несколько минут, это обусловлено линейной неупорядоченной структурой каталога.

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

Vfat (Virtual fat)

Это FAT с поддержкой длинных имен (до 255 символов, допускается включение точек и пробелов, но текст после последней точки рассматривается как расширение) и UNICODE. Регистр в именах сохраняется, но не различается.

Для каждого файла и каталога в VFAT хранится два имени: длинное и короткое в формате 8.3 (“namename.xxx”) для совместимости со старыми приложениями.

Короткое имя генерируется автоматически по заданному алгоритму.

FAT32

Усовершенствованная VFAT, поддерживает диски объемом до 2 Тб. Блок начальной загрузки увеличен до 2 секторов.

Корневой каталог в FAT 32 больше не располагается в определенном месте, вместо этого в блоке BPB храниться указатель на начальный сектор корневого каталога.

NTFS(New Technology File System)

Разрабатывалась специально для Windows NT.

Рисунок 47 – Структура таблицы MFT в файловой системе NTFS

Диск делится на две части: первые 12% отводятся под так называемую MFT (Master File Table) – пространство, в котором происходит рост метафайла MFT.

Запись в MFT зону невозможна, это запрещено что бы не вызвать фрагментацию главного системного файла при его росте. Остальные 88% используются для обычного хранения информации.

Если места на диске недостаточно, то MFT зона сокращается, как правило, в два раза.

Каждый файл в NTFS представлен записью в MFT, причем NTFS резервирует первые 16 записей таблицы, размером около 1Мб для специальной информации. Первая запись в таблице описывает непосредственно саму главную файловую таблицу. За ней следует зеркальная запись MFT. Место положения MFT и зеркального файла MFT содержится в секторе начальной загрузки. Третья запись MFT содержит файл регистрации, применяемый для восстановления файлов. Семнадцатая и последующие записи используются уже файлами в каталоге или на томе.

В NTFS значительно расширены возможности по управлению доступом к отдельным файлам и каталогам, введено большое число атрибутов, реализована отказоустойчивость, средства динамического сжатия файлов, поддержка требований стандарта POSIX (Регистр букв имеет значение + временные штампы).

В случае сбоя ОС или оборудования, NTFS обладает возможностью самостоятельного восстановления, так что дисковой том будет доступен, а структура файлов не нарушится. Эта возможность реализована благодаря использованию журнала транзакций, где отмечены все команды, влияющие на структуру каталога. Любая операция ввода-вывод, изменяющая файл на томе NTFS, рассматривается системой как транзакция и может выполняться как неделимый блок.

Схема распределения пространства на томе хранится в виде битовой карты.

Существует поддержка «плохих» кластеров для регистрации поврежденных участков на томе и файл тома, содержащий имя тома, версию NTFS и бит, который устанавливается при повреждении тома.

Имеется файл, который содержит таблицу определения атрибутов, которая задает типы атрибутов, поддерживаемые на томе, и указывает можно ли их индексировать, восстанавливать и тп.

Для уменьшения фрагментации NTFS всегда пытается сохранить данные в непрерывных блоках. Эта система использует структуру каталогов в виде B-дерева.