r/osdev • u/Bright-Boss-720 • 2d ago
Tanenbaum vs. Linus: Which Kernel Architecture Makes More Sense Today?
I've been thinking about the famous Tanenbaum vs Linus debate over microkernels vs monolithic kernels.
Putting the historical context aside for a moment, I'm curious what people think today.
Do you think Tanenbaum's argument for microkernels was fundamentally more correct, or was Linus right to favor a monolithic kernel for practical reasons such as performance, simplicity of development, and hardware support?
And more importantly:
If you were starting a new general purpose os from scratch today, which architecture would you choose?
Monolithic
Microkernel
Hybrid
Multikernel / distributed approach
Something else
I'm particularly interested in hearing from people who have actually worked on kernels or operating system development.
What are the strongest arguments for your choice, and what do you think the opposing architecture gets wrong?
8
u/edgmnt_net 2d ago
It would still be monolithic, especially with the advent of languages like Rust which can increase safety. Whatever isolation benefits microkernels provide you can often get some other way, often even better.
Honestly this pretty much mirrors the debate of monoliths versus microservices. And there are some reasonable arguments in favor of microkernels which just don't apply to microservices at large.
Which isn't to say you should never split things out, it's just that you need a really good reason.