4 ms·
My knowledge about kernels is very limited, but is this not the whole principle behind Google's Fuchsia?
by Nican 5y ago
My knowledge about kernels is very limited, but is this not the whole principle behind Google's Fuchsia?
- twic 5y agoIt sounds exactly like every microkernel architecture to me. Subsystems are processes, processes communicate by sending asynchronous messages, there is a way to wait for a reply to a message to allow synchronous interaction, there is a way to share or transfer ownership of memory between processes to allow bulk data transfer. Message sending might be implemented on top of memory mapping, but doesn't need to be.
- fancl20 5y agoThat's exactly the point I want to express - this type of communication design is not bind to microkernel or io_uring or any system. It's a general architecture pattern appears on any cross subsystems communication. Hardware DMA also has a similar design.
- cmrdporcupine 5y agoAs far as I understand it, this kind of asynchronous callback based I/O was a hallmark of VMS's IO subsystem (1st release 1977...); and Unix's "get a byte, get a byte, get a byte byte byte" model was a major criticism that the VMS folks had about it. https://retrocomputing.stackexchange.com/questions/14150/how-should-we-interpret-dave-cutlers-criticism-of-unix/14151 https://retrocomputing.stackexchange.com/questions/14150/how... So, no, I don't think you need to jump all the way to microkernel/message-passing (like Fuchsia) to get this kind of model.