46 ms·
Not kidding, but granted, it would have been fair to say that we can now get more evidence. I knew about QNX, and Minix, Symbian and GNU Hurd are also microkern
by juhanima 9y ago
Not kidding, but granted, it would have been fair to say that we can now get more evidence. I knew about QNX, and Minix, Symbian and GNU Hurd are also microkernels.
It's just that despite all the good arguments for 30+ years, microkernels somehow seem to have failed to reach their full potential. That's why it's going to be interesting to see how Fuchsia pans out, being written from the scratch with all the cumulated knowledge and experience. Not to mention Google's resources and talent pool.
- tathougies 9y agoLike most monolithic kernels, most microkernels have failed. Ultimately, kernel popularity is largely going to be a network effect. Linux is popular on servers because it is both free and popular; not really for any inherent technical merit. Windows is popular because no one loses their job for choosing Microsoft. On the other hand, there are several microkernel operating systems with notable features and significant, dedicated fan bases. For example, AmigaOS is well-known for its responsiveness, and despite not being in production for decades, still has a dedicated fan base. QNX is used in a lot of critical, performance-oriented workflows. OS X is a partial microkernel as well. Nevertheless, the only microkernel that has really failed is GNU/Hurd. Minix fulfilled what it set out to be (educational) and Symbian was successful enough on mobile.
- juhanima 9y agoGood points. Nevertheless, it's still puzzling why microkernels have done so poorly, despite them being superiour in theory. Almost all the ones mentioned here have waned into a curiosity or niche, and maybe also QNX starts to get a bit long in the tooth, having been released in 1982. OS X of course is another story, but also based on 1980's ideas with the Mach kernel. Which is why it's interesting to see another open-source contender to appear from a clean slate. If I remember right, Linus's main argument against Tanenbaum was that the overall state gets so dispersed between the various services that make up a full-fledged OS, that eventually a microkernel-based system just gets unpredictable or starts performing poorly. I think the discussion was inconclusive, although for me Linus's argument sounded intuitively convincing.
- tathougies 9y agoIf the argument here is that microkernels have failed because they are incredibly successful in two very important niches, then I feel like you are applying a double standard. Ultimately, Linux also is not all that popular except in two niches: servers and cell phones. Windows is also not popular except in a niche: desktop computing. Ultimately, you have arbitrarily declared several very prevalent forms of computing to be 'niche', while declaring several equally prevalent forms to be 'popular'. One of my hypotheses above is that we tend to dismiss reliable forms of computing as 'not really computing', because we expect computers to fail. When computers work, we think of them as mechanical machines or devices (the way we might view eyeglasses for example). I feel like your subjective opinion of what is and isn't niche just further demonstrates this point. My guess is that there are more instances of QNX (and systems like it) than we realize. There could easily be as many as Windows or OS X (almost certainly the latter, I feel).
- juhanima 9y agoThat is not my argument, because I do not think microkernels have failed. Sorry, if it came out that way. I do not have a strong opinion one way or the other, just curious if there is something to what Linus said and more than meets the eye. As it still seems to me, that microkernels have not fared quite as well as could have been expected thirty years ago, when the ideas first crystallized. You are totally right that microkernels have been very successful in many different areas. I am afraid to even mention, that to me it seems they are most often pretty specialized areas with targeted applications and hardware choices. Which is why I'll welcome Fuchsia, especially if it is meant to be a general purpose, open source OS for a wide area of applications running on commodity consumer-grade hardware. That's all.
- lobster_johnson 9y agoHave they done so poorly? There aren't that many mainstream OSes, period, and there's not a lot of a space for a new OS. In embedded computing, various commercial sectors such as aerospace, and the military, there are highly successful microkernels most people don't know about -- QNX is the most well known example, but there are also others such as Integrity, and L4 and its many variants are heavily used in embedded settings. L4 runs on tons of small devices, including the iPhone, and is probably the most successful microkernel in existence. Not "niche" by any stretch.