Hacker News new | ask | show | jobs
by ahartmetz 794 days ago
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.
1 comments

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.