[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