Объект – это совокупность взаимосвязанных элементов, включающих в себя непосредственно данные (код), а также сведения о состоянии его взаимодействия с другими объектами.
Свойства объекта
1. Элементы объекта создаются и уничтожаются одновременно.
2. Объект является единым целым, и внутренняя структура объекта остается невидимой.
3. Для выполнения операций над объектами имеются специальные команды.
4. Объекты не находящиеся во взаимосвязи по модели данных невидимы друг другу.
Потенциальная адресация
Указывает возможность обращения одного объекта к другому. Каждый объект потенциально адресуем любым другим объектом, но такая адресация не устанавливается автоматически и не может быть создана односторонне (используются специальные процедуры связывания, на уровне команд процессора и функций объектно-ориентированных операционных систем). Иными словами, потенциальная адресация означает, что каждый объект может использовать адрес любого другого объекта, но эта связь устанавливается не автоматически.
Имена объектов отражают их логические, а не физические адреса. При этом на аппаратном уровне формируется таблица соответствия логических и физических адресов.
Рис. 5.2. Механизм адресации объектов
Объект 1 порождает в результате каких-то действий объект 2, причем знает о его создании и может к нему обращаться только объект 1, который его создал. Связь между объектом 1 и объектом 3 устанавливается с помощью адресующей подсистемы.
Операционная система поддерживает механизм адресации объектов. Примером служит архитектура SWARD, которая является как объектно-ориентированной, так и тэговой архитектурой. Аппаратно поддерживаются 5 типов объектов:
1. Модули (домен);
2. Процесс (может состоять из многих портов, модулей, данных) – единица работы вычислительной системы;
3. Запись активации (требуется наличие стеков для методов объектов; содержит ресурсы, необходимые для запуска процесса, метода);
4. Порты как пункты взаимодействия и связи объектов;
5. Память данных.
Модуль – это код; процесс – это совокупность объектов. Процесс может содержать несколько подпроцессов. Запись активации обеспечивает повторную входимость какой либо метод. Каждая запись активации – это метод этого объекта. Запись активации содержит в системной области указатель на модуль, который должен быть запущен, когда этот метод активизируется. Память — это выделяемая или высвобождаемая память под адресное пространство ввода/вывода.
Рассмотрим архитектуру Intel APX-432.
Объектно-ориентированное представление в своей основе содержит некую модель и основой для построения этой модели является дерево. На аппаратном уровне поддерживается модель ориентированного графа для структур данных.
В объектно-ориентированном подходе более узко рассматривается базовый объект, который может иметь несколько наследуемых объектов. Это случай с одиночным наследованием: когда один базовый объект может иметь один или несколько наследуемых, причем базовый объект описан некой совокупностью данных всех составляющих его объектов. Наследуемый объект как бы содержит одновременно данные, которые определяет базовый объект и свою часть, т.е. в этом случае наследуемый объект добавляет к структуре данных, описываемую базовым объектом некие свои данные.
При множественном наследовании у нас получается модель в виде ориентированного графа. Необходимо было представить аппаратную поддержку этой модели.
Решение было достигнуто путем представления структур данных в виде наборов независимых адресных пространств, которые назвали объектами.
Соответствие между моделью данных в виде ориентированного графа и моделью данных во время исполнения в виде набора объектов представляется так: узел ориентированного графа есть объект, дуга есть ссылка на другой объект.