a few thoughts

Norman Hardy norm@netcom.com
Wed, 19 Jul 2000 22:31:46 -0700


At 17:16 -0400 00/07/09, Kragen Sitaker wrote:
>Simple directories don't need processes to hold them.  They can be
>implemented as nodes holding a key to a node containing keys and a key
>to a page containing their names and traversed by library routines.  As
>long as you can do anything with a start key you can do with a page or
>node key, the library can be fairly oblivious to directories
>implemented in other ways.
>
>This is probably a bad idea for extensibility.
>

Late in the Keykos game we discovered another general reason to introduce
new domains into a design.

Ordinary programmining environments come with some register saving
convention, often imposed by a compiler. General registers are analogous to
general slots and so it would seem natural to establish a slot saving
convention. Aside from the embarassment of there being no slots on the
stack, there is the extra time to store these in new nodes dredged up for
the purpose.

In just about every case we found the extra slot space came for free if we
put the function in another domain. More than once we would introduce new
domains because of slot pressure. Indeed good modularization often resulted
from the inconvenience of the smallness of 16!
Norman Hardy  <http://www.mediacity.com/~norm>