Message passing

LANDAU_CHARLES@Tandem.COM LANDAU_CHARLES@Tandem.COM
13 Dec 94 12:38:00 -0800


Another significant difference between KeyKOS and Mach messages has to
do with allocation of "key registers". In KeyKOS the user specifies
which key registers to use in the operation. In Mach, port right
identifiers are allocated by the kernel, which tells the user where it
put the new port rights. In my humble opinion, this also contributes
significantly to KeyKOS's speed. KeyKOS has a mechanism for allocating
key registers (actually, using them as a cache) which is optional and
outside the kernel.

  >[In KeyKOS] larger blocks of data can be transferred in page-size
  >chunks with a simple application to application protocol.

A similar application to application protocol (namely, passing the
application data in more than one kernel message) could also be used to
advantage in lieu of scatter/gather, if you really want to avoid an
extra copy of the data. KeyKOS message passing is fast.