I think the choice for embedded OS really depends on what you like to do. Of
course you are writing the firmware for a coffee maker, it would be silly to
use an UNIX-like OS. Then you could probably write some assembly code to do
what you want. But if you are doing some Internet appliance with a browser,
e-mail, TCP/IP stack, PPP or SLIP and a file system, than one would want to
take advantage of the wealth of free software out there written for UNIX.
Then the choice is clearly between QNX and LINUX.
I have used both QNX and Linux in embedded applications. QNX is excellent
robust OS for embedded applications. The main advantage of QNX over Linux is
its ability to reboot without corrupting the file system and its modularity,
as well as Micro-kernel architecture. But the size advantage is really not
significant. A QNX kernel with support for networking, TPC/IP, file system
etc. comes to about 500K. Not much different from Linux. When you consider
the cost of QNX, as well as the non-standard Watcom compiler, the choice is
not that clear.
Regards,
Ivo Zivkov