Cтраница 4
В терминах более высокого уровня это означает, что аппаратная часть налагает следующие ограничения на передачу дескрипторов доступа. [46]
Общим для обеих этих команд является тот факт, что создание объекта включает создание дескриптора объекта и дескриптора доступа, указывающего на этот дескриптор объекта. Создаваемый дескриптор объекта помещается в таблицу объектов, связанную с указанным операндом SRO. Аппаратно обеспечивается тот факт, что дескриптор доступа не может быть помещен в гнездо части данных объекта-адресата. Более того, аппаратура определяет кодирование двух создаваемых дескрипторов: доступа и объекта. [47]
Дескрипторы доступа, находящиеся в домене D - это в основном дескрипторы доступа к объектам типа команды и дескрипторы доступа к другим ( внешним) доменам, к которым могут быть обращения при исполнении объектов типа команды, указываемых D. В дополнение к этому домен может содержать другие постоянные и переменные дескрипторы доступа, а также переменные, которые представляют информацию, доступную всем объектам типа команды, находящимся внутри домена. Поскольку объект домен доступен на запись, постоянная информация должна находиться в отдельном объекте, чей AD находится внутри домена. На рис. 4.12 показан простой случай домена, содержащего только дескрипторы доступа к объектам типа команды и один дескриптор доступа к объекту постоянных данных. [48]
![]() |
Структура адресного пространства на, получающаяся после добавления еще одного объекта с дескриптором доступа AD3 с правами чтение, запись и удаление. [49] |
Представим возникновение ситуации, приведенной на рис. 4.1, следующим образом: создание объекта Т ведет к созданию дескриптора доступа AD1, имеющего права на чтение и запись. [50]
Во второй части мы исследуем стратегию защиты, которая основана, по сути дела, на лишении программиста свободы в изготовлении дескрипторов доступа и на контроле за созданием типизированных объектов и расширением прав доступа к данным объектам. [51]
Поскольку дескрипторы доступа именно четырех объектов определяют непосредственно адресуемое пространство и части доступа этих объектов могут в принципе содержать 2 14 дескрипторов доступа, а каждый объект, адресуемый одним из этих AD, может иметь часть данных размером до 2 - 16 байт, то непосредственно адресуемое пространство данных равно 2 32 байт. Непосредственно адресуемое пространство дескрипторов доступа содержит 4 ( 2 14) дескрипторов доступа. [52]
Когда типизированный объект X предназначается для записи в файл, информация, помещенная в ТОО ( менеджером типаХ), может содержать дескриптор доступа к специальному порту. Этот порт называют фильтром пассивизации. Если ссылка на порт задана, то менеджер типа X будет активизировать также и процесс пассивизации, который получает сообщения из порта. Помимо передачи фильтру пассивизации дескриптора доступа к X, в специальное гнездо в ТОО X может быть помещен АО соответствующей процедуры пассивизации. Покажем, как используется эта информация. [53]
Если пакет языка Ада содержит собственные переменные, как в случае пакета-владельца языка Ада, домен будет включать поля данных или гнезда дескрипторов доступа для хранения значений собственных переменных. Такие поля данных или гнезда дескрипторов доступа будут помещены в видимую или приватную части домена в зависимости от того, объявлены собственные переменные в видимой или приватной части пакета языка Ада. [54]
Аппаратные средства проверки правильности типа аргумента объект порт включают также возможность проверки, имеются ли в аргументе вызывающей программы ( который является дескриптором доступа) право посылать в случае вызова Send или Cond send и право получать в случае вызова Receive или Cond receive. Мы отложим обсуждение подобных проверок прав до гл. [55]
Следует сделать последнее замечание о модели безопасности системы 1432: тщательно продуман вопрос о том, чтобы у пользователя не было способа подделать дескриптор доступа и затем использовать его для доступа к запрещенному объекту. Дескрипторы доступа создаются системой только в связи с созданием объектов и уточнений. После этого в AD могут быть изменены только поля прав доступа; в случае расширения прав, как мы только что видели, лишь под строгим контролем. Пользователь может испортить дескриптор доступа D, в котором имеется право на удаление, но только в том случае, если пользователь обладает AD с правами на запись к тому объекту, внутри которого находится D. Поскольку процессор выбирает дескрипторы доступа только из части доступа объекта, пользователю нет смысла помещать сымитированный AD в часть данных объекта, чтобы попытаться передать его процессору. [56]
Проектировщик ЭВМ должен быть исключительно внимателен при определении правил, по которым могут быть сформированы, скопированы, переписаны в другое место и удалены дескрипторы доступа. [57]
Создает из указанного SRO объект общего типа, имеющий части доступа и данных указанной длины ( каждая из них может быть равна нулю), и помещает дескриптор доступа к создаваемому объекту в указанное гнездо другого объекта. [58]
Абстракция устройства - это просто еще одно уточнение в системе 1432 и как таковое при своем создании оно становится доступным любому пользовательскому процессу, который получает его дескриптор доступа. Следовательно, освобождение устройств может выполняться явным образом операционной системой или неявно сборщиком мусора. [59]
В частности, пользователь может создать объект заданного размера из любой локальной кучи SRO ( или из одной глобальной кучи SRO), для которой может быть предоставлен дескриптор доступа с правами создания в качестве аргумента. [60]