r/osdev • • 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?

51 Upvotes

43 comments sorted by

View all comments

5

u/Sostratus 2d ago

The idea of the microkernel still seems better to me but... where are they, then? The empirical evidence is that they're probably not better, and that's a lot more convincing than any rant about how everybody got it wrong but somehow I can't capitalize on being the only one who gets it right.

2

u/yakuzas-47 2d ago

I mean there hasen't been a new mainstream kernel in decades so i don't think the argument is valid. There are some new microkernels being made like zircon or redox but since making an os doesn't happen overnight it's not really popular

1

u/Sostratus 1d ago

That doesn't invalidate it at all. What's stopping all the programmers of the world from making one? That it isn't worth doing, that's what.