libraries and environments
Norman Hardy
norm@netcom.com
Sun, 10 May 1998 16:09:17 -0700
At 10:37 -0400 5/7/98, Jonathan S. Shapiro wrote:
>I find myself writing a depressing number of library routines that
>take the same three or four capability registers as arguments. In
>most cases, these registers hold things like the active domain key, a
>schedule key, or a space bank key.
...
First I am confused about what it means to pass a domain key. If A passes
such a key to B, which domain is the passed key to, A or B?
In Keykos those domains needing a key to themselves acquired it at birth,
not upon receiving a new task.
KeyKos domain code indeed has many calls passing two banks and a meter.
Usually this trio is just those passed to the passer upon its creation.
This argues for some bundling just so long as any player can rebundle.
Early in the development of KeyKos we thought about a node with three keys.
Later an elaboration was suggested that coupled a bank with a meter with
the added function that the bank would turn off the meter before it
reclaimed the space that it had sold. This solved a theoretical problem
that we described but did not observe: An object can mis-use its authority
if it is running at the same time that a space bank is deleting the parts
of that object. Thus deleting a trusted object may cause it to abuse its
trust during deletion.
Norman Hardy <http://www.mediacity.com/~norm>