Hacker News new | ask | show | jobs
by DoritoChef 2798 days ago
From the historical point of view, this heavy decoupling is associated with microkernels which fell out of favor with the rise of the Linux kernel. I think in this day and age, modern programming languages could make building a microkernel that doesn't fall prey to the shortcomings of MINIX a possibility.
3 comments

Microkernels are IPC-heavy, right? What I rather imagine is having modules at source level, not kernel level. So the thing still compiles down to a monolith/hybrid, but modules are abstracted away and reusable.
Source level modules sound awesome. Would need a high level language though.
Like Rust?
Maybe, I would personally go with C++.
The IPC overhead is very much manageable, microkernels tend to be a lot more responsive than monoliths and with paging for message passing the overhead is reduced even further.
It would be interesting to see if modern multi-core cpus make the possible overhead of microkernels a non-issue today.
Microkernels are much easier to optimize for multi-core CPUs than monoliths. The ´kernel modules´ from a monolith run as user processes in a microkernel environment so they automatically benefit from more cores.
Except that most kernels for high integrity computing or hard real time deployments are microkernels.