3 ms·
Slightly OT, general microkernel question: Is it possible to viably do zero-copy message-passing? As in, the kernel lets you know you have a new message, but t
by exikyut 9y ago
Slightly OT, general microkernel question: Is it possible to viably do zero-copy message-passing?
As in, the kernel lets you know you have a new message, but the message buffer is the same one the calling/sending process built.
The main thing I wonder about is security. Maybe the memory manager could allow only the sending process to write to the memory region containing the message! Or maybe that would be really hard to get right.
Once refcounting declares that only the sender has an active lock on the message, it could be deleted.
- snvzz 9y agoidk about HelenOS. On seL4, you may have a capability to a frame of physical memory in 2 processes, and use that as "shared memory" between them.
- rurban 9y agoSure see e.g pony-lang. Reference capabilities guarantee all three safeties, even with shared memory. You just aren't allowed to do much with it, depending on ownership.