[cap-talk] Beneath Notice Authority was:Capabilities for immutable data

Matthieu Lemerre racin at free.fr
Wed Mar 9 14:30:08 PST 2011


On Thu, 24 Feb 2011 16:18:17 -0800, David Barbour <dmbarbour at gmail.com> wrote:
> On Thu, Feb 24, 2011 at 1:39 AM, Jonathan S. Shapiro <shap at eros-os.org> wrote:
> > In generall, I would argue that *all* atomic messages should be
> > non-allocating, and that allocating messages should require some
> > (non-primitive) application-layer collaborative protocol.
> 
> This is rather difficult if you include stack or queue allocations
> inherent to the message-passing operation. Not only do you need atomic
> messages, you need a non-allocating delivery protocol.

[Please forgive me if my terminology seems weird, as I am new to this list]

This seems difficult to achieve if you see "message passing" as 
"thread A copying a message into some thread B's memory",
i.e. calling an active object.

If you implement capability invocation more like passive method calls,
i.e. with a shared stack between the caller and callee, then you get a
simple "non-allocating delivery protocol" for free.

Providing this kind of non-allocating capability invocation for every
basic operation can be done in a simple way, and this was one of the
main reasons behind the development of the Anaxagoros operating system
microkernel [1].

[1] http://portal.acm.org/citation.cfm?id=1519131



More information about the cap-talk mailing list