[cap-talk] EQ, MyCap? review
clandau at macslab.com
Tue Feb 12 19:01:52 EST 2008
At 3:29 PM -0800 2/12/08, Jed Donnelley wrote:
>On 2/12/2008 2:20 PM, Charles Landau wrote:
> > I hope this helps with the terminology. Amplify Gate Key is very
>> equivalent to MyCap?, for reasonable definitions of "My".
>I think I'm understanding. Is there a one-to-one correspondence
>between start/entry capabilities/keys and service processes?
No, there can be multiple different start/entry capabilities/keys to
the same process. Usually these represent different facets.
>Assuming so, then I guess the "brand" mechanism is a means to
>support multiple distinct start/entry capabilities/keys within
>a common "domain" by allowing a process entering the "domain"
>via one start/entry capability/key to access the internal
>state of a start/entry capability/key that might have been
>passed in as a parameter? In that sense to get access to the
>"private" data for the object?
>If all the above guesses are correct, then the definition of "My"
>is essentially 'serviced by a process within the same brand'?
Yes, it means any facet of any process with the brand.
>In that case I guess "brand"s would typically have a convention
>for where to store a pointer in the the object state for any
>start/entry capability/key that may be serviced by another
>process in the brand? Alternatively perhaps this access to
>private data is what you referred to above when you mentioned
>the possibility of calling "it using a private interface"?
There are many possible conventions.
What I meant by "using a private interface" was this: After using
Amplify Gate Key, a process could use the resultant Process key to
obtain a start key to a facet of the other process. That facet is
used only internally, and when calling it, the callee is willing to
reveal more-private data. This can be used where you need some
synchronization that you can't get with shared memory.
In EROS and CapROS, the facet identifier is 16 bits and is called the
keyInfo. It is stored as part of the capability.
In KeyKOS, a process is called a "domain", a start capability is
called an "entry" key (following Dennis and Van Horn), and the facet
identifier is the "databyte" (because it is 8 bits).
More information about the cap-talk