Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие ОС и С (преп. Лашин Т.Б.).DOC
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
1.28 Mб
Скачать

Вопросы для самоконтроля

  1. Понятие интерфейса.

  2. Что такое интерфейс пользователя, программный интерфейс, физический интерфейс и пользовательский интерфейс?

3. Современные виды интерфейсов: Командный интерфейс, WIMP – интерфейс, SILK – интерфейс.

  1. Типы интерфейсов.

  2. Что относится к процедурно-ориентированным интерфейсам?

  3. Что относится к объектно-ориентированным интерфейсам?

Лекция 10. Разделение доступа к данным в ос (2 часа)

С каждым файлом в ОС связана пара идентификаторов — пользовательский и групповой. Файл наследует эти идентификаторы от эффективных идентификаторов процесса, создавшего данный файл. Процесс, эффективный пользовательский ID которого совпадает с пользовательским ID файла, считается владельцем данного файла.

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

В отличие от обычной ОС, ЗОС регулирует доступ к системным ресурсам исходя из соображений не только возможности их совместного использования конкурирующими приложениями, но и исходя из принятой в данной конкретной ЗОС политики безопасности (ПБ).

ПБ – это конкретные наборы правил, на основании которых делается вывод о предоставлении доступа субъекта к объекту, сведены в различные модели безопасности (МБ).

Рис. 10.1 Защищенная ОС

Разработка специального слоя в ЗОС, являющимся соединительным звеном между конкретной реализацией архитектуры ОС и абстрактной ПБ. Данный слой мог бы обеспечить четкий интерфейс между этими двумя уровнями ЗОС, гарантирующий адекватное внедрение любой ПБ (см. рис.10.2). Очевидно, что разработка интерфейса возможна только тогда, когда можно четко определить набор функций, выполняемый каждой из сторон. Для выделения данного набора обратимся сначала к стороне ОС. Исходя из основного предназначения ОС следует, что она должна предоставить возможность работы с различными ресурсами системы. В общем случае над ресурсом можно определить четыре действия: чтение данных; запись данных; чтение параметров; установка параметров.

Рис.10.2 Промежуточный интерфейсный слой между абстрактной ПБ и ОС в ЗОС

Набор параметров ресурса зависит от его природы. Ресурсы с одинаковым набором параметров будем называть ресурсами одного типа. В любой ОС существует модуль, отвечающий за взаимодействие с ресурсами определенного типа (будем называть такой модуль сервером ресурса). Сервер ресурса – сущность, тесно связанная с ресурсом, поскольку именно свойства ресурса определяют возможность его совместного использования. Будем предполагать, что все ресурсы одного типа представлены в системе одним сервером. Таким образом, на уровне обычной ОС доступ к ресурсам осуществляется через соответствующие сервера, которые, зная специфику своих ресурсов, обеспечивают их корректное использование различными субъектами (см. рис. 10.3).

Рис. 10.3 Сервер ресурсов

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

Таким образом, ОС должна предоставить набор серверов ресурсов, каждый из которых должен позволять совершать над ресурсами своего типа описанные ранее действия. Кроме них сервер добавляет действия над ресурсом, связанные с организацией его совместного использования. Это захват (или открытие) и освобождение (или закрытие) ресурса. При захвате ресурса субъект сообщает серверу, в каком режиме он собирается использовать ресурс для того, чтобы сервер мог определить, совместим ли данный режим с режимами, в которых ресурс уже используется другими субъектами. Соответственно, при освобождении ресурса субъект сообщает серверу, что больше не претендует на использование данного ресурса. Кроме поддержки совместного использования ресурса на сервер ложится обязанность по его созданию и уничтожению. Данные функции естественно возложить на сервер ресурса, поскольку именно он «знает» все его особенности, кроме того, очевидно, что их нельзя возложить на сам ресурс.

В итоге сервер ресурса предоставляет субъекту восемь интерфейсных функций работы с ресурсом: чтение данных; запись данных; чтение параметров; установка параметров; открытие; закрытие; создание; уничтожение. Четкое определение функций сервера ресурса необходимо для того, чтобы можно было конкретизировать, какие именно действия над ресурсами может регулировать уровень ПБ, что делает возможным более предметный подход к разработке или адаптации МБ для ЗОС.