For anyone interested, S/R/R message passing has been implemented in
the kernel and seems to run nearlly as fast under Linux as it does under
QNX.
In fact the only limitation is summarised below by the author and is
exactly the question I was asking in last Friday's SLUG Q&A session (re:
copying data between two non-related processes - quickly!)
Seems to me that if this is a limitation of the Linux kernel, it should
be fixed! Not an unreasonable thing to ask of a kernal and must be one
of Linux's few limitations.
1) I don't know how, in Linux, to access the address space
of
anything but the currently running process. In fact, it is
not
generally possible: the process's memory may be swapped to
disk.
This forces me to buffer all messages in kernel space
before
causing a context switch to the process for which the
message is
destined. Unfortunately this means that all data must be
copied
from sender to kernel to receiver, whereas under QNX
message
passing results in a single copy, directly from the
senders
address space to the receivers. Oh well.
The package is available from www.cogent.ca
Regards,
Andrew E.
anything but the currently running process. In fact, it is not
generally possible: the process's memory may be swapped to disk.
This forces me to buffer all messages in kernel space before
causing a context switch to the process for which the message is
destined. Unfortunately this means that all data must be copied
from sender to kernel to receiver, whereas under QNX message
passing results in a single copy, directly from the senders
address space to the receivers. Oh well.
--
SLUG - Sydney Linux User Group Mailing List - http://slug.org.au/
More Info: http://slug.org.au/lists/listinfo/slug