Безопасность операционных систем. Безбогов А.А - 58 стр.

UptoLike

Задачей символьного уровня является определение по символьному имени файла его уникального имени. В файловых
системах, в которых каждый файл может иметь только одно символьное имя (например MS DOS), этот уровень отсутствует,
так как символьное имя, присвоенное файлу пользователем, является одновременно уникальным и может быть использовано
операционной системой. В других файловых системах, в которых один и тот же файл может иметь несколько символьных
имен, на данном уровне просматривается цепочка каталогов для определения уникального имени файла. В файловой системе
Unix, например, уникальным именем является номер индексного дескриптора файла (i-node).
На следующем, базовом уровне по уникальному имени файла определяются его характеристики: права доступа, адрес,
размер и другие. Как уже было сказано, характеристики файла могут входить в состав каталога или храниться в отдельных
таблицах. При открытии файла его характеристики перемещаются с диска в оперативную память, чтобы уменьшить среднее
время доступа к файлу. В некоторых файловых системах (например HPFS) при открытии файла вместе с его характеристи-
ками в оперативную память перемещаются несколько первых блоков файла, содержащих данные.
Следующим этапом реализации запроса к файлу является проверка прав доступа к нему (уровень проверки прав досту-
па). Для этого сравниваются полномочия пользователя или процесса, выдавших запрос, со списком разрешенных видов дос-
тупа к данному файлу. Если запрашиваемый вид доступа разрешен, то выполнение запроса продолжается, если нет, то выда-
ется сообщение о нарушении прав доступа.
На логическом уровне определяются координаты запрашиваемой логической записи в файле, т.е. требуется определить,
на каком расстоянии (в байтах) от начала файла находится требуемая логическая запись. При этом абстрагируются от физи-
ческого расположения файла, он представляется в виде непрерывной последовательности байт. Алгоритм работы данного
уровня зависит от логической организации файла.
На физическом уровне файловая система определяет номер физического блока, который содержит требуемую логиче-
скую запись, и смещение логической записи в физическом блоке. Для решения этой задачи используются результаты работы
логического уровнясмещение логической записи в файле, адрес файла на внешнем устройстве, а также сведения о физиче-
ской организации файла, включая размер блока. Задача физического уровня решается независимо от того, как был логически
организован файл.
После определения номера физического блока, файловая система обращается к системе ввода-вывода для выполнения
операции обмена с внешним устройством. В ответ на этот запрос в буфер файловой системы будет передан нужный блок, в
котором на основании полученного при работе физического уровня смещения выбирается требуемая логическая запись.
5.4.5.2. Современные архитектуры файловых систем
Разработчики новых операционных систем стремятся обеспечить пользователя возможностью работать сразу с не-
сколькими файловыми системами. В современном понимании файловая система состоит из многих составляющих, в число
которых входят и файловые системы в традиционном понимании.
Современная файловая система имеет многоуровневую структуру (рис. 5.10), на верхнем уровне которой располагается
так называемый переключатель файловых систем. Он обеспечивает интерфейс между запросами приложения и конкретной
файловой системой, к которой обращается это приложение. Переключатель файловых систем преобразует запросы в формат,
воспринимаемый следующим уровнемуровнем файловых систем.