4 ms·
QNX [1] is probably being the most successful and most mainstream example of a microkernel in real-world use. It's extremely popular for embedded use and/or app
by lobster_johnson 11y ago
QNX [1] is probably being the most successful and most mainstream example of a microkernel in real-world use. It's extremely popular for embedded use and/or apps with real-time demands, most famously in nuclear power plants. I've never used QNX myself, but I believe people also run full desktop environments on top of it.
[1] https://en.wikipedia.org/wiki/QNX https://en.wikipedia.org/wiki/QNX
- david-given 11y agoI've used the desktop version. It's amazing: it looks, and feels, and operates, just like a Unix, except if you want it it's got this ultra-fast real-time core. When I say 'just like a Unix', I mean: you log in and start up some terminal windows and it's sh and you can compile and run X11 software with configure scripts and gcc and you can print stuff with lpr and it all just works. It even runs Java --- my copy was completely self-hosting via Eclipse! Years ago there was a single-floppy QNX demo disk: you booted from this and you got a basic desktop with dialup modem support and a web browser. SINGLE FLOPPY. Hey, look! I was all set to write a paragraph about how sad it was that you couldn't get the bootable QNX CD any more, but look what I found! http://www.qnx.com/download/feature.html?programid=19602 http://www.qnx.com/download/feature.html?programid=19602 It doesn't even need registration and a login any more! Holy crap, I have to see if this still works... Edit: looks like it won't install without a license key. I'll see if I can get one... Edit: apparently I have an account with QNX dating back from 2012, with three hobbyist license keys, one of which makes the installation CD happy. I don't know whether these are still available, though. Edit: so it installed into a VM in about two minutes flat, and I now have a very old copy of Firefox running. It can't see the network, but that's nothing to do with QNX and everything to do with my inability to set up kvm. I need to find a real machine to run this on. Edit: it will only install from CD, not from USB (unetbootin doesn't help). And I've lost the power cable for my CD burner. So until I find it, I won't be able to proceed here. Sorry. Still good to know this still exists, though...
- tomcam 11y agoThey have a license for evaluation & noncommercial use. http://www.qnx.com/legal/licensing/non_commercial.html http://www.qnx.com/legal/licensing/non_commercial.html
- miles 11y ago> Years ago there was a single-floppy QNX demo disk: you booted from this and you got a basic desktop with dialup modem support and a web browser. SINGLE FLOPPY. Dan Hildebrand's original announcement on comp.os.linux.development.system back in 1997: http://marc.info/?l=freebsd-chat&m=103030933111004 http://marc.info/?l=freebsd-chat&m=103030933111004 Archived homepage of the QNX Demo Disk: http://web.archive.org/web/20011019174050/www.qnx.com/demodisk/ http://web.archive.org/web/20011019174050/www.qnx.com/demodi... including "How we did it": http://web.archive.org/web/20011106140711/http://www.qnx.com/demodisk/how.html http://web.archive.org/web/20011106140711/http://www.qnx.com... and "What people are saying" (to give folks today an idea of the excitement around a 1.44MB GUI OS with networking and Japanese support back in the 90s): http://web.archive.org/web/20011106141359/http://www.qnx.com/demodisk/quotes.html http://web.archive.org/web/20011106141359/http://www.qnx.com... Download links and screenshots: http://marc.info/?l=freebsd-chat&m=103030933111004 http://marc.info/?l=freebsd-chat&m=103030933111004
- agumonkey 11y agoAnd a very nice paper by its wonderful last author https://cseweb.ucsd.edu/~voelker/cse221/papers/qnx-paper92.pdf https://cseweb.ucsd.edu/~voelker/cse221/papers/qnx-paper92.p...
- thescriptkiddie 11y agoThat sounds awesome. How does it compare to RTLinux or Linux with the PREEMPT_RT patches?
- spc476 11y agoI really enjoyed using QNX (I had a job porting Unix programs to QNX---it was not that hard of a job actually). What really blew me away as the inherent transparent networking. I could, from the command line, run a program on my computer, referencing a file on a second computer, pipe the output to a program on a third computer which sends the output to a file on a fourth computer. Really mind blowing stuff. And fast. I knew the owners of a company that sold X Windows commercially, and their fastest version ran under QNX, using the native QNX message passing facilities. The fact that the QNX kernel on a Pentium was only 8K in size was also mind blowing.
- vram22 11y agoI used an eval of the desktop version of QNX for a short time. Got it from a CD that came along with a computer magazine. Even in that short time, I got a feel that the OS was quite fast, compared to early Linuxes that I used around the same time, and Windows. Remember reading in the mag that it had that Photon GUI, IIRC, that others have mentioned in comments here. I tried out at least some apps, bash, etc., and they were all snappy.
- pinealservo 11y agoI used QNX extensively for a few projects at work, as it has historically been used quite a bit in the "automotive infotainment" world. I was really impressed by the overall clean architecture and documentation of the system, and I much prefer implementing device drivers in the QNX microkernel environment over implementing them in Linux, where interfaces are under-documented and always changing, and it's quite easy to lock up the entire system during driver development. An interesting data point, though: QNX had a very clean and modularized 'microkernel-like' network stack called 'io-net'. But due to throughput issues in some situations, they switched to a new architecture a few years ago called 'io-pkt'. This is essentially the kernel networking code from BSD transplanted to a process in QNX; one advantage of this is that there's a large stock of drivers available to port and a lot of people are familiar with the BSD networking model, but some of the lesser-used corners of it weren't fully debugged when I was doing network protocol hacking, and in general it made me sad. Anyway, you can definitely run full desktop environments on it, and you can especially run a full tablet environment if you buy a recent Blackberry tablet, as RIM now owns QNX and uses it as their latest Blackberry OS. This was, unfortunately, a step backwards in their openness and embrace of Open Source.