On Tue, 2005-11-08 at 17:34 +0100, Bas Wijnen wrote: > On Tue, Nov 08, 2005 at 08:51:09AM -0700, Christopher Nelson wrote: > > > Not exactly. If a server wants to support arbitrary long > > > paths, it's not going to map the whole thing into its address > > > space. It'll accept a container capability and map parts of > > > it in, unmapping other parts of it. > > > > What mechanism allows it to map *parts* of a single transfer in? > > There is no transfer of data, there is only transfer of the container > capability. This capability gives access to a set of pages, which can be > mapped in or out of the address space when the process likes.
Operationally this is correct, but the mechanism described is unfortunate if your description is intended literally. If I hold a capability to a memory object, what I have is the authority to map a *window* on each page within that object, subject to the permission restrictions of the memory object. The difference between mapping such a window and mapping the page directly is that the window becomes invalid if the memory object is destroyed. The distinction is subtle, but important. shap _______________________________________________ L4-hurd mailing list [email protected] http://lists.gnu.org/mailman/listinfo/l4-hurd
