In the end, the answer is always to pick the right tool for the job. Comparing Minix and Linux is about as meaningful as comparing a phillips screwdriver with a flathead. They're used for different purposes.
I agree with your last sentence though.
If reliability is that much of a concern, why isn't the system being designed in a way that makes the distinction irrelevant?
about as meaningful as comparing a phillips screwdriver with a flathead. They're used for different purposes.
Is this just that they work with different kinds of screws, or are there cases where it's actually preferable to use a flathead screw+screwdriver instead of Phillips (or Robertson, which for some reason we don't have around here)?
...as meaningful as comparing a phillips screwdriver with a flathead. They're used for different purposes.
is perhaps not the best analogy. They are both for turning screws, and some people do, in fact, have strong opinions on which is better.
Unless you meant to say that a phillips is for turning screws and a flathead is for prying stuff open. :-D
This means that in areas where performance is paramount, the system stability benefits of a microkernel design just isn't worth the loss in speed. In other areas it might be, but as the current OS landscape shows it's not in huge demand. Part of this is obviously that monolithic/hybrid kernels really aren't that prone to crashing (bugs get fixed), which means that in practice these kernel designs offers BOTH performance and stability.
There are at least a few microkernel implementations beside Minix that are in use/more or less stable/shows some viability. (E.g. QNX, L4 family and to some extent EROS family)
They have received nowhere as much attention as something like Linux. So the usability is not really up there.
The only useful thing you can run on L4 is Linux, but that's pointless.
EROS/CapROS/Coyotos never had any useful userspace.
Has the Minix kernel shown significant performance results? (I am not being sarcastic btw, I am honestly asking.)
I know OSX uses something like a micro-kernel and it is a perfectly fine desktop OS, but performance suffers once you get to thousands of threads.
The filesystem, device drivers, IPC, network stack, etc is all in kernel space. It's true that it's built around the Mach microkernel, but like most systems that built around it, Mach is just a core layer in the kernel onion, rather than a microkernel in and of itself with the other major components implemented as user-space servers.
"If the automobile had followed the same development as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year killing everyone inside."
OSX doesn't use anything like a micro-kernel, it runs Mach (which even microkernel fans ridicule, it is bigger than many monolithic kernels like the Plan 9 kernel), with a monolithic BSD-style kernel directly on top, when your microkernel has (being generous) two components, both huge, I don't think it is like what most people consider a microkernel at all.
It is also fun to remember that people also claimed Windows NT was a microkernel, and then they added the graphics system right into the kernel.