Introducing a cmp() operation
kauer at os.inf.tu-dresden.de
Tue Jun 14 18:22:54 CEST 2005
> > We have here 2 models in our discussion:
> > 1. Using a 1:1 mapping between objects and endpoints. This requires a
> > cmp() function.
> > 2. Using the features of L4.sec (local names, endpoints and badges) to
> > implement a capability system in user-level.
> I think that is a fair representation of the two branches of the discussion.
So I split the discussion here in two parts. Because we discussed the first
model here in DD today, I will start with them. Perhaps I could write some
ideas of the second model in the next days....
We use the following copy()-example in our discussion:
A file server implements file-objects and distributes capabilities of
them. It offers, for an atomic copy of a block from one file to
another, a copy(src, dst) operation. Since both parameters are given
by an client in one call, we have the multi-reference problem.
Are there other examples that cause problems?
Beside the need for a cmp() we found in the discussion that this operation
needs to be limited. A transparent interpose of different endpoints with a
single one is otherwise not possible. Bounding this "cmp()-right" to the
receive right of an endpoint seems feasible.
So in summary I can say, we heavily think about, whether we extend our
model with a cmp() operation...
More information about the l4-hackers