My coarse understanding is monolithic kernels historically gained favor over microkernels for practical performance reasons bound to the cost of context switching.
I always felt there was opportunity to address that in order to have your cake and eat it too (eg. reserve registers for the kernel to avoid pop/push, maybe even dedicate a whole core and its state).
How fast / lightweight is context switching between userspace and kernel code in Xous?
Can you compile in such a way to avoid context switching altogether? What are the most significant overheads message-passing between services and where are is the lowest-hanging fruit for improving?
I always felt there was opportunity to address that in order to have your cake and eat it too (eg. reserve registers for the kernel to avoid pop/push, maybe even dedicate a whole core and its state).
How fast / lightweight is context switching between userspace and kernel code in Xous?
Can you compile in such a way to avoid context switching altogether? What are the most significant overheads message-passing between services and where are is the lowest-hanging fruit for improving?