4 ms·
QNX predates the first L4 release by at least 10 years. Unless they had a major rewrite I wouldn't assume so.
by DoingIsLearning 2y ago
QNX predates the first L4 release by at least 10 years. Unless they had a major rewrite I wouldn't assume so.
- speed_spread 2y agoThe comment I was replying to seemed to imply that QNX 8.0 is a full rewrite. I'm not sure how relevant that statement was here, unless the rewrite is seL4 based.
- ahartmetz 2y agoInterestingly, QNX designers have learned and applied one of the same lessons as L4 designers: asynchronous messaging is messy regarding resource management and slower than well-executed synchronous messaging. QNX and L4 both use synchronous messaging for the vast majority of tasks.
- vacuity 2y agoI find it unfortunate, since I think async should be the default model for communication. Similar to message passing with shared memory as an optimization, I wonder if async messaging with sync messaging as an optimization is feasible. Async in general does make reasoning about the program more difficult.
- ahartmetz 2y agoMy intuition is similar to yours, but I trust people who have done the thing more than your or my intuition. Sync seems to require very responsive receivers, which is a desired property anyway, so maybe the downside isn't that great.
- rurban 2y agoMach (with Hurd) went down this rabbithole and utterly failed. Mailboxes were the cause of the desaster.