3 ms·
TRON is a microkernels now? Interesting... I think there is a more pragmatic way to understand the microkernels issues. Performance is but one and over the d
by TheCondor 11y ago
TRON is a microkernels now? Interesting...
I think there is a more pragmatic way to understand the microkernels issues. Performance is but one and over the decades it has become less of an issue, but hasn't vanished which should be noted, you usually have to out do the technology you want to push out. Have you ever modularized something too much? It is a meme here, abstractfactoryfactorybuildersingleton. You break things down in to simple singular purpose components that are easier to build correctly and reusable, then all the sudden you have your favorite Java or .net framework with abstract factory factories.
Take jboss, for example, great code. High quality code. It really works. Complex as all fuck to start using. Then when you want to understand something like jboss serialization, it's spread among a dozen classes in a way you'd have never imagined when you started thinking about it, you just want some function to look at the implements their algorithm. It didn't get that way by accident or even stupidity, it's too reusable. Or rather, their extreme modularity comes at a cost, maybe it's worth it but I don't see a lot of people bragging about a new jboss based whatever here...
Apply this to you operating system and ask yourself why. Why does netbsd port so well to new hardware? And why do people do that? Why is it more difficult to write a posix service on top on a microkernel than a monolithic one! Surely, it's a smaller chunk of code, it should have less complexity, be easier to write, right? It's not, just look at Hurd. The cost is the price of the modularity, your posix service needs to rely on other services, those dependencies need to be coded for, faults handled, etc. what does posix open do when the filesystem service is not responding? (Hint, it depends on the type of fault and whether or not it's recoverable, or you think it is)
They should logically be easier to build and because of that we should be crapping them out left and right. Plan9 should be micro kernel. With the current leaders in operating system semantics, posix and Windows, the modular implementation is more complex than the monolithic one.
There are a bunch of good ones out there, just pick a microkernel and start building a good BSD or Linux drop in, should be easy, right? Maybe if you use it as a hypervisor...