|
Удаленный доступ к объекту:
постановка задачи
|
Общие положения
- Объект - совокупность данных и методов для их обработки
- Доступ к данным объекта возможен только со стороны методов объекта
- Удаленный объект(УО) - объект, расположенный вне адресного пространства потока,
производящего вызов методов объекта
- Каждый объект в системе, который может быть УО, имеет уникальный идентификатор
- Владелец удаленного объекта - поток (процесс?) владелец адресного пространства,
в котором расположен УО
Постановка задачи
Есть объект О1 в адресном пространстве потока (процесса?) П1:
- Данные О1 в сегменте данных Д1
- Код в сегменте кода С1
Необходимо осуществить вызов методов объекта из нескольких потоков одновременно
при соблюдении следующих условий:
- адресные пространства потоков отделены от адресного пространства УО
- вызов методов должен происходить с возможно меньшими накладными расходами
- вызов методов объекта должен происходить прозрачно для вызывающей стороны
- при выполнении вызовов одного и того же объекта из различных потоков синхронизация
должна осуществляться прозрачно для вызывающей стороны
- должна обеспечиваться возможность синхронизации вызовов от разных потоков:
- либо с помощью блокировок
- либо с помощью транзакций
- должна обеспечиваться возможность асинхронных и синхронных вызовов методов
УО