Cтраница 2
После того как объект открыт, дескриптор объекта возвращается вызывающему процессу. [16]
Определить местоположение элемента таблицы отображения ( дескриптора объекта) данного мандата, используя логический адрес элемента таблицы отображения, хранящийся в мандате. [17]
Аппаратура распознает конкретные системные типы, закодированные в дескрипторе объекта. Дополнительная информация, касающаяся определения типа каждого системного объекта, находится в объекте определение типа, на который есть ссылка из помещенного в дескрипторе объекта дескриптора доступа к ТОО. [18]
Доступ к любому целевому объекту требует прохождения маршрута от дескриптора доступа через конкретный дескриптор объекта к целевому объекту. Однако в большинстве случаев совершенно несущественно явно выделять этот промежуточный шаг. Следовательно, мы примем соглашение по упрощенному изображению рисунков, в которых дескрипторы доступа указывают непосредственно на соответствующие объекты. На рис. 4.5 показана сокращенная запись из рис. 4.2. Мы не потеряем общности, если будем использовать этот уровень абстракции в наших рассуждениях в остальной части книги. [19]
В системе 1432 с каждым объектом связан тип, который запоминается внутри дескриптора объекта; аппаратура системы 1432 знает о нем и имеет к нему доступ. Аппаратура распознает многие из возможных типов объектов как имеющие специальное значение; объекты, имеющие какой-либо из этих специальных типов, известны как системные объекты. Большинство системных объектов содержит как часть данных, так и часть доступа. Некоторые системные объекты 1432 используются при обеспечении среды во время исполнения работающей программы. Объект контекст используется для представления активационной записи функции или процедуры. Объект процесс содержит атрибуты процесса, например задачу языка Ада, атрибуты, использующиеся при планировании и диспетчеризации процесса, для выполнения восстановления в случае сбоя при работе процесса и для связи с другими процессами. Объект процесс служит в качестве корневого узла структуры объектов, представляющих активный процесс. [20]
Общим для обеих этих команд является тот факт, что создание объекта включает создание дескриптора объекта и дескриптора доступа, указывающего на этот дескриптор объекта. Создаваемый дескриптор объекта помещается в таблицу объектов, связанную с указанным операндом SRO. Аппаратно обеспечивается тот факт, что дескриптор доступа не может быть помещен в гнездо части данных объекта-адресата. Более того, аппаратура определяет кодирование двух создаваемых дескрипторов: доступа и объекта. [21]
Подобъект определяется дескриптором уточнения, который вставляется в маршрут доступа между дескриптором доступа и дескриптором объекта для объекта-родителя. [22]
Если указан объект ТСО системного типизированного типа, то тип объекта, закодированный в дескрипторе объекта целевого объекта Т, должен совпадать с типом объекта, указанным в ТСО. [23]
Когда из SRO любого вида создается объект, распределяется участок доступной памяти необходимого размера, создается его дескриптор объекта и добавляется в таблицу объектов SRO. Дескриптор содержит физический адрес, задающий базу распределенного участка, а также длины части данных и части доступа объекта. В указателе использованного блока памяти в PSO производится соответствующая корректировка компоненты текущего адреса конца. [24]
В процессе создания ему выделяется из свободного пространства блок памяти требуемого размера, и в таблицу объектов записывается дескриптор объекта, содержащий местоположение базы Т в физической памяти. Таблица объектов - это просто каталог или список дескрипторов объектов. [26]
![]() |
Структуры объектов для межконтекстного обмена сообщениями. [27] |
Один из них ( AD вершины стека памяти) указывает на последний сформированный в таблице объектов стека SRO дескриптор объекта. Другой дескриптор доступа ( AD вершины стека дескрипторов) указывает на последний сформированный в таблице объектов стека SRO дескриптор объекта или дескриптор уточнения. Дескриптор уточнения помещается в таблицу объектов для стека распределения SRO в том случае, когда определяется уточнение для ранее созданного из памяти стека SRO существующего объекта. AD вершины стека дескрипторов указывает на ватерлинию в таблице объектов для стека распределения. [28]
![]() |
Системные объекты, для которых определены типовые права. [29] |
Для последующего обсуждения полезно вспомнить, что существуют два вида дескрипторов, которые могут указываться дескриптором доступа: дескриптор объекта и дескриптор уточнения. Предположим, что поле logical address, находящееся в дескрипторе доступа, указывает на дескриптор объекта. Рассмотрим бегло его структуру. [30]