Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
HOR / TOTAL.DOC
Скачиваний:
3
Добавлен:
16.04.2013
Размер:
312.83 Кб
Скачать

3.2. Структура ядра системы.

Ядро системы (лист 1) состоит из следующих частей:

  1. подсистема обработки запросов;

  2. хранилище описаний объектов (Interface Repository);

  3. хранилище информации об реализациях объектов (Implementation Repository);

  4. реализация базовых объектов;

  5. реализация базовых функция для всех объектов.

Подсистема обработки запросов является частью, общей с библиотекой для языка C и подробно описана далее.

Хранилище описаний объектовнеобходимо для обеспечения информации о имеющихся на данный момент типах объектов, их атрибутов и методов, параметров методов, а также предоставляет средства для занесения информации о новых типах, которые не были известны системе во время ее составления. Информация в хранилище заносится с помощью специального множества процедур. В будущем планируется написание специального компилятора с языкаCORBA IDL, который должен будет обеспечивать автоматическое заполнение хранилища на основе описания объекта, составленного наIDL.На основании информации, находящейся в хранилище можно получить список всех имеющихся в системе на данный момент объектов, перечень их атрибутов и свойств. Также с помощьюИнтерфейса Динамических Вызовов (Dynamic Invocation Interface)можно подготовить и осуществить вызов к любому объекту, даже если на момент написания программы об этом объекте ничего известно не было. Этой же информацией пользуется и администратор ядра системы. Важной особенностью написанной системы является то, что все функции администрирования могут быть выполнены с помощью вызовов стандартных функций и не используют разного рода недокументированные возможности, что допускает написание полноценного собственного администратора со специализированным назначением.

Для того, чтобы при создании объекта система могла определить положение выполняемых файлов, в которых находится реализация данного объекта, ядро системы предоставляет хранилище информации о реализациях объектов. Методы взаимодействия с этим хранилищем идентичны методам работы с хранилищем описаний объектов.

Естественно, ядро системы включает в себя и реализацию базовых объектов, которые неизменно обязательно присутствуют в системе. Этими объектами являются стандартные объекты, определяемые спецификацией CORBA:

  1. ORB- собственно, сам брокер, который может преобразовывать ссылку на объект в строку являющуюсяУникальной Объектной Ссылкой (Interoperable Object Reference), однозначно определяющую объект и выполнить обратное преобразование. Если несколькоORB-ов связаны между собой, то их пространства объектов могут быть объединены и таким образом допускается преобразование строки в ссылку на любомORB-е, связанном с исходным. ТакжеORB позволяет создавать множествоАдаптеров Объектов(Object Adapters) и как часть стандарта -Основной Адаптер Объектов (Basic Object Adapter - BOA).

  2. BOA - базовый из адаптеров объектов. Главной функцией Основного Адаптера Объекта является управление различными системными сервисами. ТакжеBOA частично принимает участие в управлении хранилищем информации о реализациях объектов.

  3. Псевдообъекты - это с одной стороны объекты, с которыми действия выполняются таким же образом, что и с обычными объектами. С другой стороны список этих объектов приведен в спецификации CORBAи их описание не присутствует в хранилище описаний. Такие объекты не могут быть созданы произвольно, а лишь являться результатом специальных операций. Не все псевдообъекты реализованы в ядре системы - часть реализации псевдообъектов находится в библиотеке для языкаC.

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

Тут вы можете оставить комментарий к выбранному абзацу или сообщить об ошибке.

Мы не исправляем ошибки в тексте (почему?), но будем благодарны, если вы все же напишите об ошибках.

Соседние файлы в папке HOR