It's been a significant embedded OS since the late 1980s, with many millions of deployed systems.
It is also used in roles with a customer-facing UI and indeed GUI. It's in several car media players, for instance, including from Toshiba I believe.
And of course it was the basis of Blackberry 10.
https://crackberry.com/blackberry-10
It was in the Playbook, the cancelled Folio, and a lot of smartphones, such as the Passport I used to own. (A lovely device, sadly crippled as messaging app vendors removed support. I could use Android apps on it, but they didn't integrate into the Blackberry Hub.)
It was also very nearly the next-gen Amiga, which I suspect is why it has a GUI and multimedia support.
https://www.trollaxor.com/2005/06/how-qnx-failed-amiga.html
I suspect that between routers, switches, engine control units, traffic signals, smartphones, car entertainment units, and doubtless many other things we don't hear about, it's in more devices in production than all of seL4, Fiasco, etc. put together.
Minix 3 is arguably also a true microkernel, and it's present in industry, embedded in millions of Intel Xeon and Core iX CPUs' management units, but it never reached a state of much completeness. No SMP support, for instance, and a lot of missing functionality.
And it now seems to be dead:
It's gotta be creeping up on QNX numbers slowly!
> doubtless many other things we don't hear about
It’s entirely possible many of those embedded devices running QNX haven’t rebooted since the late 80’s.
I would not be altogether surprised. This was one of the promises of microkernels in general and Minix 3 in particular...
It was the inbox that sold me on it. I had to occasionally manually kill background apps; I could feel the phone getting hot in my pocket sometimes, as something burned CPU and battery. It was a bit version-1-point-zero.
But, a good UI, most Android apps worked... but slowly, over time, Whatsapp dropped support, FB Messenger dropped support, and while the Android clients worked, they no longer integrated with the unified inbox, making it all a bit pointless.
For those who never saw it:
BB10 was QNX with a Qt-based GUI on top. It had a global inbox, part of the home screen, and all messages appeared in it. Work emails, personal emails, all chat systems, app notifications -- all in one place, sortable and searchable. It sounds like a lot to deal with but it wasn't; it was much easier than handling notifications and messages on iOS or Android, where they are spread over a dozen different apps.
Android "native" apps are actually Java apps in a customised Java runtime, a modified JVM. This has been completely replaced several times over the lifetime of Android.
BB10 had its own Android-compatible JVM, so Android apps ran on BB10, at peer level with native apps. The big snag was that there were no Google apps, and Android apps assume those are present. So, if an app displays a map, it assumes Google Maps and blindly calls it, and if that app is not there, the exception is unhandled and you get a blank area on screen where the map should be.
Sadly sideloading the Google Apps did not fix this. They worked but they were not where expected, or sandboxed, or something. Some, e.g. Google Translate, worked badly because it assumes an onscreen keyboard but the Blackberries didn't have one because they have permanent hardware keyboards.
I suspect app developers aren't really a fan of this as half the reason they're building such a tool is to have a branded environment to capture your attention in....
Of course WebOS also died in an ignoble fashion as BB10. Its UI DNA does live on at Google in some ways though as the head of UX at Palm (Mathias Duarte) eventually became VP of design at Google. When Android & iOS eventually rolled out multitasking gestures it looked a lot like WebOS.
The deal that nearly happened between PalmSource and Symbian when Palm was moving to Arm processors is one of the great might-have-beens of the IT industry.
Symbian was a superb OS, with a choice of UIs not of which matched its greatness.
Palm had a very good, widely-loved UI, but a poor kernel underneath.
The combination could have been industry-beating, but the deal never completed.
Now Symbian is FOSS but nobody cares, and PalmOS is buried inside Access Corp, never to be seen again.
I think WebOS survives as the UI of some LG smart TVs...
I seem to recall that one was fixed down the road and displayed the native map.
> Blackberries didn't have one because they have permanent hardware keyboards
Not the Z10, which was fully touch. This gave a good experience for these Android apps, especially if you sideloaded the Amazon app store and picked from that.
The software keyboard was incredibly reactive and tactile; I bet QNX played its part on that.
Had to stop using it because of stupid (Android) bank apps deciding to check for root and refused to run.
No, this was because Quantum Software thought that they were going to compete with Windows on its own turf somewhere around 1991.
For the three years (2002-2005) I worked on a DARPA Grand Challenge vehicle, my main desktop machine ran QNX. I could build and run the real time software on it, connected to either a simulator or cabled to the actual vehicle up on jacks.
QNX gave up on the desktop a few years ago.
[1] https://www.qnx.com/developers/docs/6.5.0SP1.update/com.qnx....
Last I checked, seL4 was in the firmware of a lot of phones.
What's the Folio?
https://en.wikipedia.org/wiki/Palm_Foleo
Mistake on my part: I thought it was a cancelled Blackberry device, but it wasn't -- it was a cancelled Palm device.
Before the rise of netbooks, it was a netbook-sized terminal to a smartphone that let you use a laptop-style UI to your email and so on, by being tethered to a smartphone.
Category:Microkernel-based operating systems: https://en.wikipedia.org/wiki/Category:Microkernel-based_ope...
- redox (rust-based) https://en.wikipedia.org/wiki/Redox_(operating_system)
- Nintendo Switch runs a microkernel OS
- Linux started in 1999 as a clone of MINIX and was initially developed on MINIX, which is a microkernel OS: https://en.wikipedia.org/wiki/History_of_Linux
Earlier versions were not. IIRC, Linux was bootstrapped on Minix 1.x.
Or was it not yet considered a microkernel by then?