Hacker News new | past | comments | ask | show | jobs | submit login

Microkernels and Linux style kernels solve different problems. If reliability is your concern, then Microkernels are the way to go because a buggy driver (which will exist no matter how careful you are) can't take down your entire system. For desktop operating systems, where the user really is fine with pushing the reset button when something goes wrong, it is not worth the development effort to write a microkernel.

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.




On real-world hardware, a buggy driver can take down your entire system regardless of whether you're using a microkernel or not. Program a bad DMA, blit, or scatter/gather and Minix won't save you.

I agree with your last sentence though.


If reliability is your concern, then Microkernels are the way to go because a buggy driver (which will exist no matter how careful you are) can't take down your entire system.

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)?


I agree with your post, but this:

...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


It's not really about the 'development effort', it's about the performance. Message passing will always be alot slower than communicating through shared memory. Just like user-space filesystems will always be slower than kernel-space filesystems.

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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: