Architecture of Backing Store Descriptors

Bryan Ford baford@schirf.cs.utah.edu
Tue, 22 Nov 94 17:16:01 MST


>   You have provided for mapping a subset of an object. I hope that is not
>   all one can do with a memory object. Composition  (one segment
>   containing others) is a basic operation that should be allowed.
>
>Claim: Memory object composition is essentially intertwined with the
>KeyKOS persistence architecture.  In the absence of such persistence,
>it is not straightforward to maintain the nesting relationships across
>system restarts.

Just because the nesting relationships can't be maintained automatically
across system restarts doesn't mean it isn't useful to support such
relationships.  (Are processes in traditional Unix systems useless just
because they aren't persistent?)  In fact, in some major Mach VM rehashing
work we're about to start on we're planning to implement nested composable
segments, very similar in many respects to KeyKOS's, even though Mach isn't
persistent and isn't going to be any time soon.

>My intent is that NewSys will use something more like the Mach
>approach (which may well prove to be a mistake).  In NewSys, memory
>objects can NOT be composed.  A memory object is a contiguous range of
>bytes, and exists independent of its mappings.

Gak!  No, don't do that! :-)

>Would you be kind enough to advance the case for why composition is a
>fundamental operation?  Bear in mind that a NewSys address space is
>not a segment -- it's a collection of object mappings.

Well, if composition _is_ supported as a fundamental abstraction (and I
think it should be), there is no reason for a NewSys address space _not_ to
be simply a simple segment, which will presumably always be a composition
of other segments or mappings.

				Bryan