3 ms·
> P.S.: I didn't want to open the box of performance issues of microkernels Why are there performance issues? Are there any reasons for them except for context
by codedokode 3y ago
> P.S.: I didn't want to open the box of performance issues of microkernels
Why are there performance issues? Are there any reasons for them except for context switch costs (which are only due to legacy CPU architectures that were optimized for outdated insecure OSes)? Is microkernel architecture somehow incompatible with good performance?
- samus 3y agoMicrokernel architecture pretty much requires that processes communicate via explicitly defined interfaces, usually message passing. And it becomes much more difficult for subsystems to coordinate low-level activities, which is crucial for performance optimizations. And yes, context switches matter a lot too.
- snvzz 3y agoLots of myths around microkernel "slowness"[0]. >And yes, context switches matter a lot too. seL4 is significantly (100x-1000x) faster than Linux at context switching[1]. At the same time, it does not require that many more context switches. 0. https://archive.is/30hhi https://archive.is/30hhi 1. https://sel4.systems/About/Performance/ https://sel4.systems/About/Performance/
- kramerger 3y agoThis is a very unfair comparison 1. A sel4 context switch does significantly less than a Linux ditto. It saves fewer hardware registers etc 2. You will need many more context switches to achieve the same thing in a microkernel due to its distributed architecture. 3. A lot of "complexity" in the kernel is simply performance optimization that does not exist in sel4. Back in the days Minix and Hurd promised to achieve optimization by replacing generic servers with custom ones but I haven't seen this actually working in 20 years