You could do worse than Mach ports

Kip Macy kmacy at
Thu Jul 17 15:37:51 PDT 2003

Although some of the communication primitives are reminiscent of 
microkernels, and there is the intent of moving some things into
user space, he wants to avoid having applications pay the performance
penalty in the common case. L4 is a dramatic improvement over Mach,
but L4Linux had to be tuned to an incredible degree to get it to the
96% of native Linux that they quoted. These days with the improvements
that have been made in Linux 2.4 your looking at 65% of native.

His emphasis is much less on protection boundaries because of the
cost that one tends to incur from them.

ibotty wrote:
:I know you said you didn't want to go all the way to Mach ports for
:the messaging, but... you could do a lot worse.
   Well, I used mach messaging long ago on the NeXT machine.  The basic
   problem with mach messages is that they are 'heavy weight'.  The
   messaging system has far too much knowledge about the information
   being sent, and it presumes fairly expensive memory mapping operations
   which I believe can be avoided.

have you considered using (or maybe only borrowing ideas from) l4?

l4 is a microkernel api, that tries to do 'super-fast local IPC' (quoted
from [1]) and (to my understanding) maps to the light weight messaging, you
there is a sample implementation of the current (X.2) api codenamed
pistachio [2]
afaik, it does implement threads, so you may not be happy with it, but i
think it is worth at least a second (and a first, if you were not aware of
it) look.
btw: i recommend the whitepaper, it makes things short ;) [3]
there exists a linux port (linux running in one l4 process only though)
guys over at hurd seem to also like this project.
i've also seen someone mentioning a netbsd port, but only once, so it may
not be planed currently.
l4 is performant too, according to some benchmarks.
(looking for an os, that is message based and runs on his pc)

More information about the Kernel mailing list