IPC in the current OO model
OJ Hickman
hickman1@peak.org
Wed, 06 Jan 1999 00:29:44 -0800
Anders Petersson wrote:
>
> >From: OJ Hickman (in unios@onelist.com)
> >> From: Anders Petersson <anders.petersson@mbox320.swipnet.se>
> >> So it's like a shared memory mechanism, then? Yes, in such case they should
> >> block.
> >
> >Umm . . Yes. But in the Component Framework all code and data can be
> >shared. The purpose of the Oversight unit is to manage the sharing
> >between components. Unlike most microkernels Component Framework
> >will control the flow of execution between objects rather than
> >the flow of data.
>
> Of course everything should be sharable. But only when it's necessary
> should objects block.
When did I imply that all object interaction had to block?
> >To do this is seems that 1) the Oversight unit needs to have metadata
> >on the use and structure of all data objects 2) all interobject calls
> >will have to pass through thunks, maintained by the Oversight unit,
> >that verifi the paramiters as leagal and implament syncronization.
>
> It's better to aquire access once, and then call the other object directly,
> without any system interference.
Yup, intercepting the calls would be over kill.
> But if syncronized memory sharing is the
> only means of communication, they can't cope with it alone. That's not how
> I think things it be, however.
No, it should be the ONLY way. This provides a very low level primitive
that
allows custom IPC to be implamented in user objects. The IPC can then be
implamented in any way imaginable: buffered queues, over a network,
paged
memory mapings . . .
This blocking extsts in all OSes today. But only when a kernel function
that has a _critical_region_ in it [say, malloc()] is called. Most OSes
would
just clear the interupts or somthing to prevent a state switch in a
critical
region. The Component Framework allows critical regions to exist in user
level objects. I use semephores over locking out a task switch to
maintain true
premptive operation.
_______________________________________________
"Imagination is more important than knowledge."
- Albert Einstein
Omer James Hickman - hickman1@peak.org - ojh@hotmail.com
http://members.tripod.com/~OJ_Hickman - updated 12/28/98