I will agree across the board with Rick’s comments.
I will add this: QNX4 is a better performer IF it offers all of the
features you require.
QNX6 is definitely more versatile.
All that aside, new development on QNX4 has ended. There won’t be any new
device drivers written unless someone pays for it. This alone can be a show
stopper. But if you can develop an application with generic off the shelf
components then QNX4 is my choice. I can develop a sophisticated
application with graphics and networking using QNX4 in 16 MB. I can’t
(hardly) log in in text mode in QNX6 in 16 MB.
Kris Warkentin wrote:
Superior thread and SMP support, better Posix compliance, better
tools (Eclipse), more hosts (Windows, Solaris, Linux, RTP), more targets
(x86, arm, sh4, xscale, mips, powerpc), better networking support…
sure others could list more yet.
I was considering holding back my reply to this, but since it IS in the
advocacy group, I just had to reply. >
Superior thread and SMP support.
Given there was only application level threading in QNX4 and no SMP, it
make it easy to be superior.
better Posix compliance
better development tools (Eclipse)
Not in 1000 years. I will give you the gcc route is better only because
of the portability issues, not because it is a better compiler. Anyone
who thinks Eclipse is better is only thinking that because they believe
any IDE is better than no IDE. Since I can still stick with command line
tools, I will continue to do so.
One of QNX’s strength (IMHO) has always been self hosting. Since this
is true for both versions, it only matter to those who want to give up
the advantages of self hosting.
Yes, this is definitely a great advantage. It allows you to postpone
the hardware choice (in some designs) til later in the process, thus
choosing the latest processor, regardless if it was even the same family
that you started with.
better networking support
In that you have a newer tcp stack and support IPv6, true. I am not
convinced you have either the stability or performance that you had in
QNX4. And certainly QNET is no where near as useful in QNX6 as it is in
Other advantages of QNX6 include documented DDK’s and BSP’s. It is very
easy (in relative terms) to bring QNX up on any new board which has
On the other hand, QNX6 has neither the stability or performance that we
came to expect with QNX4.
Having said all of that, I have used QNX4 since it was still an alpha
quality product which forced you to reboot back to QNX2 in order to
report bugs and have used QNX6 since it was only Neutrino 1.0. On a day
to day basis, I develop in QNX6 and will continue to do that for any
projects I have a choice over. It has it’s issues, but it is well on
it’s way to be the superior product that QNX4 is.