Page conversions

Jonathan Adams jonadams@netcom.com
Sun, 17 May 1998 16:32:45 -0700 (PDT)


On Fri, 15 May 1998, jsshapiro@earthlink.net wrote:
>Here is a curious question:
>
>If I hold a page key to a data page, does the key give me authority to
>that page, or does it in some way convey authority over the disk page
>frame that the page occupies?
>
>In particular, if I hold a data page key should I be entitled to
>demand that the page object convert itself into an initially zero
>capability page (and vice versa)?
>
>shap

First, I'm not sure what the semantics of this call would be.  I see two 
choices:

1- All keys that point to the page become capability page keys.

2- All keys to the page are rescinded, and a new capability page key to 
the page is returned.

If the answer is #2, then don't do it -- This is exactly what returning 
the page to the space bank and allocating a new capability page key does.

So lets look at option #1.  There are a few problems with this:

A- The semantics of the "use" of the key have just changed out from under 
every key holder.

B- This is a large change from the standard way of changing how a key 
acts in EROS -- If I change a key, it usually creates a *new* key, with 
only that new key having the effects.

C- It exposes an implementation detail, namely that capability pages and 
pages come from the same name-space.

D- I see no useful additional utility that the call gives any user.  If I 
want to change a page from a data page to a capability page for a number 
of people, I hand them a segment and put it in there.

I think that only the Range key should allow chaging a Data Page to a 
Capability Page.

later,
- jonathan