Общая модель и структура файловой системы.

Общая модель файловой системы

Функционирование любой файловой системы можно представить многоуровневой моделью (запрос к файлу=>символьный уровень->базовый->проверка прав доступа->логический->физический=>к подсистеме ввода-вывода), в которой каждый уровень предоставляет некоторый интерфейс (набор функций) вышележащему уровню, а сам, в свою очередь, для выполнения своей работы использует интерфейс (обращается с набором запросов) нижележащего уровня.

Задачей символьного уровня является определение по символьному имени файла его уникального имени. В файловых системах, в которых каждый файл может иметь только одно символьное имя (например, MS-DOS), этот уровень отсутствует, так как символьное имя, присвоенное файлу пользователем, является одновременно уникальным и может быть использовано операционной системой. В других файловых системах, в которых один и тот же файл может иметь несколько символьных имен, на данном уровне просматривается цепочка каталогов для определения уникального имени файла. В файловой системе UNIX, например, уникальным именем является номер индексного дескриптора файла (i-node).

На следующем, базовом уровне по уникальному имени файла определяются его характеристики: права доступа, адрес, размер и другие.характеристики файла могут входить в состав каталога или храниться в отдельных таблицах. При открытии файла его характеристики перемещаются с диска в оперативную память, чтобы уменьшить среднее время доступа к файлу. В некоторых файловых системах (например, HPFS) при открытии файла вместе с его характеристиками в оперативную память перемещаются несколько первых блоков файла, содержащих данные.

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

На логическом уровне определяются координаты запрашиваемой логической записи в файле, то есть требуется определить, на каком расстоянии (в байтах) от начала файла находится требуемая логическая запись.

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

Классификация файловых систем.

По предназначению файловые системы можно классифицировать на следующие категории:

1) Для носителей с произвольным доступом (например, жёсткий диск): FAT32, HPFS, ext2 и др. Поскольку доступ к дискам в несколько раз медленнее, чем доступ к оперативной памяти, для прироста производительности во многих файловых системах применяется асинхронная запись изменений на диск. Для этого применяется журналирование – это ведение журнала, хранящего список изменений, в той или иной степени помогающего сохранить целостность файловой системы, например в ext3, NTFS, XFS и др.

2) Для носителей с последовательным доступом (например, магнитные ленты): QIC и др.

3) Для оптических носителей – CD и DVD: ISO9660, HFS, UDF и др.

4) Виртуальные файловые системы: AEFS и др.

5) Сетевые файловые системы: NFS, SSHFS, GmailFS и др.

Наиболее распространённые

FAT(file allocation table)

Таблица размещения файлов. Используется в DOS и Windows. Суть в наличии таблицы, в которой указаны участки диска(занятые,свободные,повреждённые)

Файловая система FAT12 FAT16 FAT32
Создание
Версия 12bit 16bit 32bit
Max размер файла 32Мб 2Гб 4Гб
Max размер раздела 32Мб 2Гб 8Тб

NTFS (new technology file system)

Стандартная файловая система для винды.Разрабатывалась для серверов=>надёжна(может самовосстанавливаться)

Max размер 16Эбайт(16*264 байт)

Ext 2fs (second extended file system)

Используется в Linux

Состоит из блока, группы блоков, индексного дескриптора и суперблока.

Меньший размер блока позволяет экономить место, но ограничивает max размер

Индексный дескриптор(инфоузел) содержит информацию об атрибутах и физическом расположении файла.

Суперблок содержит информацию о Файловой системе

При размере блока 4кб размер файла не может превышать 2 Тб.

Наши рекомендации