The Status of the QNX OS
Eugenia writes "OS enthusiast Thom Holwerda gave a spin to the latest version of QNX RTOS, a very capable OS that unfortunately doesn't get a lot of press. With the recent sale of QNX Software to Harman International the future of the free-for-personal-usage version of the RTOS is uncertain. Nevertheless, the article presents quite a few aspects of the OS, including an introduction of the Neutrino kernel, installation, the Photon MicroGUI, hardware support, usability and more."
Now. This is a good place to put it.
With all the cloning of OSes that goes on in the OSS world (UNIX clone, Windows clone, BeOS clone), why are we not making an open-source QNX clone? QNX is a fantastic OS in terms of architecture, flexibility and standard-compliance. If QNX goes under (like Be), this will all be lost. Let's start the photocopiers!
Please correct me if I got my facts wrong.
1.44MB. Web browser, modem/network support, blah blah.
Pretty neat at the time. Heck, it's still neat.
http://toastytech.com/guis/qnxdemo.html
That was the one and only time I ever used it.
I remember reading that Dan Hildebrand, the man behind that disk, passed away a few years back.
http://www.openqnx.com/modules.php?op=modload&nam
Lots of people bought firesale "Audreys" from 3Com, which run QNX on a wall-mountable VGA touchscreen + Geode CPU + Flash mem (+ modem, speakers/soundcard, etc). The barrier to porting Linux to it was supposedly the lack of a working LinuxBIOS - the QNX bootloader wouldn't boot Linux (RAMdisk image etc). 2 years later, is there still a possibility of Audrey Linux?
--
make install -not war
"a very capable OS that unfortunately doesn't get a lot of press."
It gets press among people that care about real time operating systems... dunno what kind of press you're hoping for.
There are no trails. There are no trees out here.
You are an idiot. Hurd is not a prequel to QNX - first of all, QNX has been an actual product for some time now. Secondly, just because hurd and QNX both share some high-level, overall design characteristics, doesn't make QNX Stallmans' bitch. "I thought of it first" doesn't count, because the idea of microkernels goes way back before either. finally, if you would have bothered to read TFA, you would have realised that QNX is not unix (hey, where have I heard that before) in that a whole lot of stuff simply works different. Unix and microkernels don't play nice together. Idiot.
People who think they know everything are a great annoyance to those of us who do.
That demo disk was truly amazing. One disk, needing only a 486 with 16 MB of ram (or was it even 8?) that gave you an OS, GUI, web browser and server, and all amazingly fast.
I recently tried running some OSes under the QEMU emulator; most of them crawled, but QNX screamed. I find it fantastic. I can't get over the fact it won't install in extended partitions on PCs, though.
Please correct me if I got my facts wrong.
We're running QNX 4.25 for our control software on our newest tool. It runs well and can handle a lot of system control with not a lot of computer power. 800mhz P3 QNX 4.25 box can handle hundreds of IO operations, logging of virtually everything, data sampling, SECS/GEM, etc with very little CPU used. When the control system is upgraded we'll be running 6.0.
At one point QNX was supposed to be part of the new AmigaOs. Its such a shame that fell apart. *sigh*
DEAD DEAD DEAD DELETE ME
I have some experience of both programming for neutrino and some business-development work on projects aiming to deploy neutrino. I have both very positive and rather negative things to report.
On the upside, the Neutrino OS is generally excellent. It's very responsive (from a real time perspective) and the system and device APIs are nice and clean, pleasantly symmetric, and well thought out. Writing device drivers is a much more pleasant business than it is on linux or windows. The microkernel stuff really isn't visible to a user, but it makes the low-level developer's life a deal easier.
Photon is okay. It's fast but rather old-fashioned, and its C API is crufty and rather a pain to code in. It's rather thin on higher-functionality widgets and one has to do more heavy lifting when implementing one's own widgets that I'm used to. It doesn't have a more modern graphics API (like GDI+/quartz/java2d) and that's a bit limiting when one intends to use it for TV/Video stuff (settop boxes etc.); again, I can do it myself, but it's more heavy lifting than I'd expect on other OSes. Support for audio and media is so-so, and I don't believe there's any 3d support. None of this is a problem if you view Neutrino as a high-end embedded OS (as opposed to a desktop OS) but even there - I'd rather not implement a nice post-Tivo setop UI or a high-end incar navigation system on Neutrino - it's all doable, but its rather too much work. Photon is clearly architected for speed and real-timey-ness (it's single threaded, like swing), rather at the expense of programmer friendliness. One has to ask, however, if it's really worth the time of the idle user learning photon, and the low number of free and open source (and heck, commercial) programs using it shows that most developers haven't learned it. There is an X-server for neutrino, but I really don't know anything about it or the degree of toolkit support on it.
The real problem with Neutrino is (or was, maybe things will change under the new regime) QNX (the company) and their business model for selling neutrino. It's not that they're dumb or mean guys, but things conspire to make the independent developer's life (and particularly the free/open-source developer's life) discouraging. Here's some of the problems I faced:
Regarding your signature, America is a whole continent with many countries, very different one to another. So I don't know what it is worse, if the US "being so 1984" or ignorance.
I've had the opportunity to work with QNX a lot, but never on a commercial project - I've seen it lose out to embedded Linux flavours, 1VxWorks and OS9, and even WinCE. QNX has great memory managment, is extremely robust, and has an acceptable IDE available. The IPC and messaging model they use is great. The windowing kit is nice - the GUI is a little dated, but you can make it do some neat tricks.
:(
Unfortuantely for QNX, it's got mediocre driver support (e.g. plan on writing 'em, or paying extra for hardware that does) and it's liscencing fees are not competitive with embedded linux or BSD. Neither of those are as robust as QNX in terms of hard realtime behaviour, but for most applications they are "good enough".
Not enough people get exposed to QNX, and it's hurting them - but not as badly as the wide availability of free unix alternatives. It is a great product though, unfortunately, I can see it going the way of a lot of other great products that the market ignored.
I enjoy using the noncommerical version of QNX to stay up to speed on RTOS concepts and development, and I have a hobby project of trying to do engine ignition timing off a standard PC that I trust to QNX - something I wouldn't trust to linux, just yet.
..don't panic