4 ms·
We've had the microkernel versus monolithic kernel debate _over_ and _over_. I'm not against research but I've yet to see a convincing argument that microkernel
by vezzy-fnord 11y ago
We've had the microkernel versus monolithic kernel debate _over_ and _over_. I'm not against research but I've yet to see a convincing argument that microkernels are better.
Sure, if all you do is read Linus Torvalds ranting.
If you decouple the logical bits of the kernel from each other all you'll get is greater impedance and message passing overhead.
Debunked many times, as early as 1992 in fact: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.51.16 http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.51.1...
Microkernels have come a long way since Mach.
And for what? A "clean" architecture?
You clearly have no idea what the advantages are.
Basically, I'll believe it when I see it.
You're seeing it in the billions of L4 deployments worldwide in wireless modem chipsets. You're seeing it in QNX being everywhere.
But then again, you might not see it, because you are willfully ignorant.
- tedunangst 11y agoHow many of those L4 deployments end up running 90% of their code in the "Linux" or "posix" process?
- kragen 11y agoThat might still be an argument in favor of microkernels if the Linux process can't crash the machine or cause it to miss hard-real-time deadlines. Or if you can use it to confine malicious code in the Linux process.
- tedunangst 11y agoFair, but when people talk about "real systems" built with micro kernels, as often as not, it could also describe Linux on xen with a watchdog restart. It's not especially compelling evidence that micro kernels are practical. Want to convince me that micro kernels are the bomb? Tell me about a system where no single service exceeds 40% of the code/runtime.
- kragen 11y ago"Unikernels" is the misnomer being promoted by MirageOS for applications compiled to run on Xen, which they are currently doing on Amazon EC2 hosts alongside Linux instances. There are EC2 hosts that host a number of instances, including "unikernels" and Linux instances, and although I don't have details, the pricing on the smaller burstable instance types makes me think that some of the EC2 hosts are hosting actually quite a large number of instances, in which no instance exceeds 5% of the code or runtime. Is that what you're talking about?
- tedunangst 11y agoNo. What I mean is a micro kernel pace maker where 40% of the code is the beep beep service, and 30% is the meep meep service, and 30% is the bop bop service. As opposed to 99% of the code in the Linux service and 1% of the code in the realtime watchdog restart service. Calling EC2 a micro kernel success story also seems like quite the definitional stretch.
- mwcampbell 11y agoIncidentally, I'd love to hear bcantrill rant on unikernels sometime, if he hasn't already in a talk or interview somewhere. I imagine he's not a fan, since they can never have the observability or performance of OS containers running on bare metal.
- igravious 11y agoJust so you know. I'm not going to debate you further, because I refuse to debate someone who calls me willfully ignorant.
- current_call 11y agoWhat would you call someone who has strong opinions about something they refuse to research?
- tedunangst 11y ago"Unconvinced". The assumption in your question is that anyone who has done any research can only possibly agree with you. News flash: it is possible for informed people to disagree.
- current_call 11y agoThe assumption in your question is that anyone who has done any research can only possibly agree with you. I'm not assuming that. Any amount of research could be no research or close to none. People who have done very little research shouldn't opine. People who have done lots of research are more likely to be correct. News flash: it is possible for informed people to disagree. Well of course. Someone who's barely informed can disagree with someone who is far more informed. That would be two informed people disagreeing. If someone has done adequate research and I'm correct, they must agree with me, otherwise the amount of research wouldn't be adequate or I must be wrong. I can avoid being wrong by avoiding having strong opinions on things I don't understand or know much about it.
- dang 11y ago> you are willfully ignorant No personal attacks, please.