4 ms·
QNX 8.0 was just released. The version bump represents a rewritten microkernel.
by bregma 3y ago
QNX 8.0 was just released. The version bump represents a rewritten microkernel.
- speed_spread 3y agoIs QNX 8 seL4 based?
- DoingIsLearning 3y agoQNX predates the first L4 release by at least 10 years. Unless they had a major rewrite I wouldn't assume so.
- speed_spread 3y 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 3y 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 3y 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 3y 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 3y agoMach (with Hurd) went down this rabbithole and utterly failed. Mailboxes were the cause of the desaster.