Hacker News new | ask | show | jobs
by bregma 794 days ago
QNX 8.0 was just released. The version bump represents a rewritten microkernel.
1 comments

Is QNX 8 seL4 based?
QNX predates the first L4 release by at least 10 years. Unless they had a major rewrite I wouldn't assume so.
Interestingly, 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.
I 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.
My 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.

Mach (with Hurd) went down this rabbithole and utterly failed. Mailboxes were the cause of the desaster.
The 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.