[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