On Thu, 2005-10-20 at 12:32 +0100, Neal H. Walfield wrote: > At Wed, 19 Oct 2005 15:42:12 -0400, > Jonathan S. Shapiro wrote: > > Fault handlers are not privileged in any way. > > They do not participate in anything comparable to the L4 pager > > hierarchy. > > I'm having trouble understanding this. How are L4 pager's privileged? > Can you bit a bit more precise in what you mean by L4 pager hierarchy?
I will try. I am not writing well today. Espen certainly did not deserve my earlier comment, and I usually know better. The two statements were meant to be independent of each other. Regarding privilege: L4 pagers are not privileged either. I tend to make the "non-privileged" point simply because many listeners assume that pagers must be privileged. In this list it was probably not necessary -- I was writing on (semi)automatic pilot. Regarding hierarchy: We have established in previous emails that there tends to be a hierarchy of pagers in L4. The root of this hierarchy is privileged because it is the ultimate source of all pages. I think we have also established that REVOCABLE COPY introduces transitive dependencies, with the effect that any receiving process becomes dependent on the pager of the sending process for any capability that it receives. There is no comparable hierarchy in EROS. A fault handler's job is to repair a page fault or not. Once a COPY is completed, there is no further dependency on the sender's fault handler. In EROS, the hierarchy is a matter of storage allocation, not mapping recovery. I think that I do not fully understand how paging (in the sense of swapping) works in L4, so the following is not meant to be a comparison, but I do find that persistence separated from fault handling seems to simplify things in my head. An EROS memory fault handler buys storage and inserts it into the address space (or not, if the fault will not be handled), but it is completely unaware of swap-paging. As an aside, I *hate* the name *pager* in the L4 terminology. Every time I try to understand L4 pagers I find myself trying to figure out how they relate to swap-paging. L4 pagers do something that is related, but not closely related, and they clearly have a much more broader role in L4 than merely swap-paging. I find this tremendously confusing, because the name causes me to confuse the concepts. Just to be clear: this is *my* deficiency, not L4's. shap _______________________________________________ L4-hurd mailing list [email protected] http://lists.gnu.org/mailman/listinfo/l4-hurd
