This note was inspired by recent e-mail on conversion of disk page frames between data and capabilities.
I don’t want to address that problem directly but instead broach some natural language issues.
These issues may help decide on the design but also lead to improved styles of describing and reasoning about the resulting system.
I find it remarkable that designers (myself included) are seldom confused over the two contradictory terminologies wherein we say either that a space bank “creates” or “allocates” a page.
I think that it is important to know whether this confusion in documentation impedes newcomers as they try to understand the system.
I don’t know how to settle this question of whether it impairs newcomers, except, perhaps, to ask some newcomers.
I know that my writing is inconsistent in this regard.
All formal reasoning systems that I know require inflexible maps between names in the formal system and things in the world that are reasoned about.
I don’t want to suggest that design descriptions that are inconsistent on this point are necessarily bad, but merely that I can often work my way out of confusion by temporarily being strict on such issues.
One terminology that may be formalized is that “banks allocate page frames” but “create pages”.
In this ontology pages are ephemeral things that reside in the more permanent page frames.
A frame holds zero or one pages at an instant.
Metaphors use words in inexact ways.
Metaphors help find new designs.
Metaphors should be banned in the description of a new design, except perhaps in the introduction of the new formal terms in which the new design is expressed.