Whats the major difference between normal linux and QNX?

Hi All,

I am new to QNX. PLease let me know the difference or speciality of QNX when compared to normal linux distributions.

Thanks in advance.

QNX is not a Linux distribution, normal or otherwise. QNX is POSIX compliant. That means that much of the programming interface and many of the utilities are the same. The underlying OS is very different in structure. There is little compatibility for drivers.

With Linux the operating system functions as a very large monolithic piece of code. Typically when a process wants an OS service it make a jump into the kernel where it’s thread continues to run, but in kernel mode.

The QNX OS is based on a message passing micro-kernel. Many of the OS functions, for example file IO are handled outside the kernel by separate processes. When a process wants an OS service it typically sends a message to the OS process that handles that function.

QNX is inherently real-time while Linux is not, although there are extensions for Linux that allow some real-time control.
While there is nothing that limits QNX to embedded systems, the company has marketed the OS as an embedding platform for some time now.

Recently I hear more often that people mistake QNX for a variant of Linux, I wonder why…

Probably because QNX rhymes with Linux. This is not a coincidence. Both rhyme with Unix. Incidently QNX was invented at least 8 years before Linux.

When all you have is a hammer…

Part of this is the relative success of Linux compared to QNX. Of course, I don’t think many Linux experts would make the mistake. However, if you’re doing a survey of the field it’s easy to think of everything as being derived from Linux. Of course, even in the Unix-like FLOSS world that doesn’t work, thanks to BSD. There’s still OpenIndiana, Syllable, ReactOS, and weird stuff like L4, RTEMS, and Darwin. I think there’s even some Plan 9 based stuff still going on. Then there’s a few free-as-in-beer-but-not-speech OSes, like Solaris Express, or the (short-lived) QNX community edition.

It would actually be kinda nice if everything was just Linux and that’s all you needed to know. But the world is a much messier place than that, and sometimes a hammer is not the right tool.

-James Ingraham
Sage Automation, Inc.