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

 

 

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

1) Символьный уровень. Здесь определяется по символьному имени файла его уникального имени.

2) Базовый уровень. Здесь по уникальному имени файла определяются его характеристики: права доступа, адрес, размер и другие.

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

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

5) Физический уровень.

V - размер блока N - номер первого блока файла
S - смещение логической записи в файле

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