Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к экзу по ОС.doc
Скачиваний:
1
Добавлен:
19.09.2019
Размер:
450.05 Кб
Скачать

Права доступа к файлу.

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

Список операций доступа:

          1. право на создание/уничтожение файла

          2. открытие/закрытие файла

          3. чтение/запись

          4. дополнение файла

          5. поиск в файле

          6. получение атрибутов и установление новых значений

          7. переименование файла

          8. выполнение файла

          9. чтение каталога и другие операции с файлами и каталогами.

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

Чтение – Read – R

Запись – Write – W

Выполнение – Execute – X.

В некоторых системах пользователи могут быть разделены на категории. Для всех пользователей одной категории устанавливаются единые права доступа. Различают 2 подхода к определению прав доступа:

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

  • Мандатный подход, когда система наделяет пользователя определенными правами в зависимости от того, к какой группе пользователь отнесен.

Кэширование.

В некоторых ФС запросы к внешним устройствам, в которых адресация осуществляется блоками, перехватывается промежуточным программным слоем – подсистемой буферизации. Подсистема буферизации представляет собой буферный пул, располагающийся в ОП, и комплекс программ, управляющих пулом. Каждый буфер пула имеет размер равный одному блоку. При поступлении запроса на чтение некоторого блока подсистема буферизации просматривает свой пул, и если находится требуемый блок, то копирует его в буфер запрашивающего процесса. Операция ввода/вывода считается выполненной, хотя физического обмена с устройством не происходило. Очевиден выигрыш во времени доступа к файлу. Если же нужный блок в буферном пуле отсутствует, то он считывается с устройства и одновременно с передачей копируется в один из буферов подсистемы буферизации. При отсутствии свободного буфера на диск вытесняется наименее необходимая информация.

Особенности архитектур современных ФС.

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