3 ms·
This suggests strongly that Mungi, iguana, and every other multi-server OS on L4 is a failure on a practical level. No doubt some papers were published and cite
by harry8 6y ago
This suggests strongly that Mungi, iguana, and every other multi-server OS on L4 is a failure on a practical level. No doubt some papers were published and cited.
Question: Why did none of the operating systems written on L4 work on a practical level to get useful work done?
QNX is the one I have heard of most often when someone wants to tout a microkernel based OS success. In fact I've never heard another OS being suggested in that context.
Given the repeated claims about the benefits of microkernels, complexity management, better security, self-healing faults, lower bug density etc etc. Why isn't QNX the hottest OS that everyone wants to run for just about everything? Certainly everything that needs to be secure on a hostile network. Some might not want the performance trade off of essentially making your cache smaller so things run slower but plenty wouldn't mind that trade off at all. Yet it hasn't taken off or even gotten a toehold that I can see. Nobody has ever tried to sell me QNX for anything. Remember pwn2own and the various variants - never saw QNX even entered there...
Why is that? I feel like there is something being left out of the standard discussion of these things that is crucial. RMS said Hurd didn't work out because it was really hard to debug. Is that it? Is there some other reason why microkernels are just too hard to deal with? Are the benefits a bit illusory? Is it something else?
These are genunine questions. Usually when I ask them I'm met with a wall of unsubstantiated claims and anger bordering on abuse. But still no microkernel based OS I can run to do useful work. I wish I understood why I don't have a microkernel based OS to even play with better.
- Animats 6y agoHaving met many QNX people back around 2003-2005, their problems were: 1. Microsoft had the OS business locked up. 2. QNX cost more than Windows. 3. Their marketing was not very good. Then QNX, the company, was sold off to an audio company. That was a disaster. Then it was sold again to Blackberry. Along the way, they went from closed source to open source to closed source to open source to closed source. This antagonized the QNX user community. QNX relied on ports of GCC, Eclipse, etc. for development, and all those communities stopped supporting QNX. Right now, you can still buy QNX. But not on line. You have to talk to a sales rep. If you have to ask how much it costs, you can't afford it. It's widely used inside things like car dashboards. The classic line is "you use Linux to run your web server, and QNX to run your nuclear power plant." They've been terrified of people pirating it. I used to tell their people that their problem was not piracy, it was being ignored. They should have a business model like Epic has for Unreal Engine - anyone can download and use it for free, and when you get over $100K in revenue, they get 5%. Although that's easier to enforce in gaming, because few titles hit $100K in revenue and those are easy to find. (Some years ago QNX had a sales win with a major auto manufacturer. They'd been considering an embedded version of Windows. Microsoft insisted that the Windows splash screen appear when the dashboard powered up. This was not well received by the auto company, and they went with QNX.)
- KMag 6y agoL4 microkernels are actually pretty widely deployed in cellular phone / tablet baseband processors (the real-time stack that actually handles communicating with the cell tower), including some iPad models. As far a cache, depending on what's going on, you may find lower cache usage. In school, I had an assignment to run a simulated filesystem benchmark and identify the sizes of various caches on my system from the benchmark results. I was quad-booting Linux, L4Linux, QNX, and Win2k on my desktop at the time, so I ran the benchmark on Linux, L4Linux, and QNX. QNX actually showed better cache utilization than Linux (bigger filesystem working sets before noticeable percentages of cache misses at the various levels). If your kernel is extremely small, it has good cache locality, likewise for a small fs driver. So, if you're really hammering just one application and one or two drivers, you might get better cache utilization from a microkernel.