@david_chisnall@infosec.exchange
Post #3781166
2026-07-13 08:23 UTC
@zwol@masto.hackers.town Not really, microkernels usually have the scheduler in a single component, so flexible policies are easy. The difficulty they have is quite different: they want to account time spent in server A responding for a message from thread X in task B to thread X and task B. Spring had a good solution to this, but without it it’s easy to introduce priority inversion problems.
Replies (1)
-
@zwol@masto.hackers.town 2026-07-13 15:34
@david_chisnall@infosec.exchange I have the impression Spring's solution rests on "doors" being synchronous. If I designed a microkernel it would be strictly asynchronous: all cross-domain invocations "just" queue a message and the *only* blocking operation is "wait for next message". Backpressure is achieved by charging senders for all messages in flight. I *think* this environment could handle priority inheritance by tracking the task priorities of all unacknowledged messages.