[coyotos-dev] Contrasting Coyotos, EROS & Keykos
Norman Hardy
norm at cap-lore.com
Fri Jan 21 20:09:24 EST 2005
On Jan 21, 2005, at 12:06 PM, Jonathan S. Shapiro wrote:
> A strange thought occurred to me at some point last night.
>
> One of the things we would like to be able to do in certain
> applications
> is something like "page flipping", where process A can send a page that
> process B will populate. The idea being to avoid copying the data
> during
> IPC.
>
> This was possible in EROS/KeyKOS, but inconvenient because it required
> traversing the mapping structures explicitly.
A Keykos application with this need would probably arrange static
access to
a node in the memory tree and a reserved slot in that node.
This arrangement required some knowledge of the memory tree logic.
Storing into the slot caused the kernel to execute a few hundred
instructions
to kill the part of the real map defined by the previous slot contents,
and perhaps a few hundred more to enable the new access.
Keykos programmers did not typically assume that their entire address
space
was kept by one segment keeper.
In Keykos terminology, a segment is either a page or is composed
several other
(typically smaller) segments.
Thus the page passing trick can apply to entire segments with about the
same overhead and without faults for each page.
With a physical cache the data within the transmitted segment remains
accessible
in the cache. This is true of all of the proposals.
Norm Hardy: <http://cap-lore.com>
Nothing has an uglier look to us than reason, when it is not on our
side.
Lord Halifax
More information about the coyotos-dev
mailing list