5 ms·
...no longer the only true microkernel in industry (the paper was written in 1992, back then QNX was certainly leading in this respect). Nowadays, open source a
by johndoe0815 3y ago
...no longer the only true microkernel in industry (the paper was written in 1992, back then QNX was certainly leading in this respect). Nowadays, open source as well as commercial L4-based microkernels are widely used, e.g. seL4 (UNSW), Fiasco (TU Dresden) and PikeOS (SYSGO).
- lproven 3y agoI'd argue QNX was more widespread than any of those. 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 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 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: https://www.osnews.com/story/136174/minix-is-dead/ https://www.osnews.com/story/136174/minix-is-dead/
- GranPC 3y ago> the cancelled Folio What's the Folio?
- lproven 3y agoOh, sorry, I thought I deleted that phrase. I meant to. https://en.wikipedia.org/wiki/Palm_Foleo 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.
- GranPC 3y agoAh I see, thanks! Thought there was another canceled QNX BlackBerry I didn't know about :)
- lhoff 3y agoBlackberry 10 was so nice. I bought a Z10 at launch, UX-wise the best phone I ever had. Used it for I think 3 years and would go back instantly with a modern device and better app support. It had gesture control years before Android and iOS introduced them (it was copied from MeeGo though) and the unified inbox is still miles a way from everything else.
- lproven 3y agoAgreed. 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.
- lloeki 3y ago> if an app displays a map, it assumes Google Maps and blindly calls it 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.
- rbanffy 3y ago> since the late 1980s > 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.
- lproven 3y ago:-) I would not be altogether surprised. This was one of the promises of microkernels in general and Minix 3 in particular... https://lwn.net/Articles/217873/ https://lwn.net/Articles/217873/
- jacquesm 3y agoYou can take that to the bank. I wouldn't be surprised if there are machines that people have completely forgotten about that still happily churn away and if they ever do fail suddenly we'll notice. Let's hope it's not a power dam or some other critical bit of infra.
- jacquesm 3y ago> which I suspect is why it has a GUI and multimedia support No, this was because Quantum Software thought that they were going to compete with Windows on its own turf somewhere around 1991.
- lproven 3y agoInteresting! I don't remember ever hearing about that at the time. I'm not saying that I don't believe you, but I'd be very interested if you had any links or references for that.
- Animats 3y agoThe QNX Photon GUI: [1] 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.doc.neutrino_user_guide/using_photon.html https://www.qnx.com/developers/docs/6.5.0SP1.update/com.qnx....
- jacquesm 3y agoPhoton also made it onto the famous demo floppy. There was the QNX Windows GUI as well which preceded it.
- nudgeee 3y agoThe Secure Element in the iPhone, iPad, Mac, Apple Watch, etc runs L4: https://support.apple.com/en-au/guide/security/sec59b0b31ff/web https://support.apple.com/en-au/guide/security/sec59b0b31ff/... It's gotta be creeping up on QNX numbers slowly!
- deleted 3y ago[deleted]
- naasking 3y ago> I'd argue QNX was more widespread than any of those. Last I checked, seL4 was in the firmware of a lot of phones.
- Findecanor 3y agoWasn't ENEA's OSE also a microkernel real-time operating system available in 1992, though? Or was it not yet considered a microkernel by then?
- Animats 3y agoL4 is more of a hypervisor. You have to run another OS, usually Linux, on top of it. So the overall system complexity has been increased, rather than reduced. QNX offers a POSIX-type API, so you can run applications on it directly,
- westurner 3y agoMicrokernel: https://en.wikipedia.org/wiki/Microkernel https://en.wikipedia.org/wiki/Microkernel Category:Microkernel-based operating systems: https://en.wikipedia.org/wiki/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) 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 https://en.wikipedia.org/wiki/History_of_Linux
- sillywalk 3y agoI don't know if it is a "true" microkernel, but the Classic MacOS for PowerPC had one. https://en.wikipedia.org/wiki/Mac_OS_nanokernel https://en.wikipedia.org/wiki/Mac_OS_nanokernel