Cтраница 3
Общим для обеих этих команд является тот факт, что создание объекта включает создание дескриптора объекта и дескриптора доступа, указывающего на этот дескриптор объекта. Создаваемый дескриптор объекта помещается в таблицу объектов, связанную с указанным операндом SRO. Аппаратно обеспечивается тот факт, что дескриптор доступа не может быть помещен в гнездо части данных объекта-адресата. Более того, аппаратура определяет кодирование двух создаваемых дескрипторов: доступа и объекта. [31]
Иногда говорят, что система Windows 2000 является объектно-ориентированной, так как единственный способ управления объектом заключается в вызове операций, связанных с дескриптором объекта, путем обращения к вызовам Win32 API. С другой стороны, в этой схеме отсутствуют основные свойства объектно-ориентированной системы, такие как наследование и полиморфизм. [32]
![]() |
Меню Edit, сгенерированное мастером AppWizard. [33] |
Наконец, когда процессы завершают совместное использование блока памяти, каждый из них вызывает функцию Win32 API: : UnmapViewOfFile, чтобы отменить представление файла, а затем - функцию Win32 API: : CloseFile, чтобы закрыть дескриптор объекта файла памяти. [34]
Ускорение подобного двухшагового процесса обычно достигается с помощью некоторой схемы использования быстрой внутренней памяти ( кэшпамяти), которая основана на высокой вероятности ввиду предполагаемой локальности ссылок того, что к тому же мандату или к тому же дескриптору объекта недавно были обращения. В системе 1432 для информации такого типа используется внутренняя кэш-память небольших размеров. [35]
Операция вставить возвращает дескриптор каждого объекта, добавляемого в очередь по приоритетам в клиентской программе. Дескрипторы объектов отличаются от дескрипторов очередей по приоритетам. При такой организации клиентские программы берут на себя обязанность отслеживать дескрипторы, которые впоследствии они могут использовать для определения, какие объекты подвергались воздействию со стороны операций удалить и изменить приоритет, и над какими очередями по приоритетам должны быть выполнены все указанные операции. [36]
Общим для обеих этих команд является тот факт, что создание объекта включает создание дескриптора объекта и дескриптора доступа, указывающего на этот дескриптор объекта. Создаваемый дескриптор объекта помещается в таблицу объектов, связанную с указанным операндом SRO. Аппаратно обеспечивается тот факт, что дескриптор доступа не может быть помещен в гнездо части данных объекта-адресата. Более того, аппаратура определяет кодирование двух создаваемых дескрипторов: доступа и объекта. [37]
Выдает дескрипторы объектов текущего окна. Задает дескрипторы объектов текущего окна. [38]
Как мы увидим позже, текущий объект контекст сам содержит указатели команд и стека, которые должны быть перезагружены в регистры процессора, перед тем как возобновится исполнение. Сохранение правильного дескриптора текущего объекта контекст в объекте процесс используется также при восстановлении от сбоев на уровне процесса. [39]
Для синхронизации отдельных процессов используются мьютексы, семафоры или события. При этом каждый процесс получает собственный дескриптор объекта синхронизации. [40]
Перед завершением раздела мы прокомментируем процесс активизации пассивных версий объектов частично для того, чтобы указать одну практическую причину, почему не всегда желательно позволять активизировать пассивную версию объекта. Процесс активизации объекта включает построение дескриптора объекта для каждого AD, хранящегося в объекте. Разряду достоверности в каждом таком дескрипторе объекта присваивается значение ложь, чтобы показать, что данный объект не находится в основной памяти и устанавливается другой, определяемый программным обеспечением разряд в дескрипторе объекта, показывающий, что версия объекта существует в пространстве пассивных объектов. Копирование содержимого таких объектов из пассивного пространства в активное инициируется при помощи ошибки присутствия объекта и выполняется механизмом обработки, похожим на механизм, использующийся в управлении виртуальной памятью. Поскольку накладные расходы конструирования дескриптора объекта не столь малы, объекты, содержащие большое число пассивных AD, такие как справочники, определены как неактивизируемыс. [41]
В элементе таблицы объектов находится важный механизм защиты, связанный с созданием объектов процессом. При создании любого объекта из SRO в дескриптор объекта в качестве номера уровня создаваемого объекта записывается уровень текущего контекста. Время жизни созданных объектов соответствует их номерам уровня: чем выше уровень, тем короче время жизни. Объекту, создаваемому из глобальной кучи SRO, всегда дается нулевой номер уровня. [42]
![]() |
Сечение, созданное с помощью SOLPROF.| Проекция, которая создана по команде SOLPROF, после замораживания слоя, содержащего скрытые элементы модели. [43] |
На рис. 22.44 показан результат работы SOLPROF после замораживания вновь созданных слоев, содержащих скрытые элементы модели. Конец имени слоя после дефиса - номер дескриптора объекта, сечение которого строится, и поэтому он свой для каждого объекта. [44]
В процессе создания ему выделяется из свободного пространства блок памяти требуемого размера, и в таблицу объектов записывается дескриптор объекта, содержащий местоположение базы Т в физической памяти. Таблица объектов - это просто каталог или список дескрипторов объектов. [45]