Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС_лекция.docx
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
1.49 Mб
Скачать

Операции над файлами

Реализуются через системные вызовы. Существует два способа выполнить последовательность действий над файлами:

  1. Для каждой операции выполняется как универсальное, так и уникальное действие.

Цепочки: open-read-close : open-read-close : open-read-close ….

Более отказоустойчивый. В файловых серверах

  1. Универсальные операции выполняются в начале и в конце последовательности

Цепочки: : open-read-read-….-close

Более быстрый. Используется в универсальных ОС

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

Файл 1

Файл N

Пользователь 1

Права доступа

.

Пользователь M

Реализуются права доступа в виде Access Control List (ACL). Список ассоциируется с ресурсом и содержит права пользователя по отношению к этому ресурсу.

Права доступа могут определяться:

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

  2. Мандатно – ОС наделяется пользователя правами в зависимости от его групп автоматически.

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

Запрос к файлу (операция, имя файла, логическая запись)

|

Символьный уровень

Базовый уровень

Уровень проверки прав доступа

Логический уровень

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

|

Подсистема ввода/вывода

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

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

Базовый уровень – определяет по уникальному имени файла его характеристики. При этом характеристики перемещаются в диска в ОП для ускорения доступа.

Если права есть, то продолжаем. Нет – сообщаем.

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

На физическом уровне определяется номер физического блока, содержащего требуемую логическую запись и смещение записи в блоке.

Отображаемые в память файлы

Для упрощения доступа к файлам ОС обеспечивают отображение файлов в адресное пространство выполняемого процесса. Для этого используются системные вызовы MAP(имя файла, виртуальный адрес) - отобразить и UNMAP - отметить отображение.

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

При завершении процесса все страницы отображения вытесняются на диск и отображение отменяется.

Современная архитектура файловых систем

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

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