Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

QNX vs vxworks: comp.os.qnx posting

232 views
Skip to first unread message

James Boucher

unread,
Mar 21, 2001, 5:13:14 PM3/21/01
to
I found this posted on comp.os.qnx. I suspect this
group might have some input. I am moving from
QNX 6 Patch B work to Vxworks and am interrested
in both sides.

Previously, nick caruso wrote in comp.os.qnx:
> We're looking for a development environment and OS for an embedded
> application, and QNX and VxWorks are both candidates at this point. I'd
> be curious if anyone here who knows VxWorks would be so kind as to
> contrast it with QNX.
>
> best regards,
> Nick Caruso
> Unicore Technologies

Heh heh heh...

Ok, first I should say that my knowledge of VxWorks is over a year old,
and I dropped out of class after the first day...

We (IFS) were at the same crossroads. Our requirements were: high
reliability, minimal footprint, full MMU support, flash file system, x86,
and gui development tools. We had narrowed our choices down to VxWorks and
QNX 4.

Here's the comparison

Footprint:
VxWorks fits into 40-50k. QNX is heftier (our .boot file is about 500k).
QNX is smaller than Linux, but bigger than OS-9.

CPU:
VxWorks runs on practically everything. QNX 4 only runs on x86 (but QNX
6 supports PowerPC, MIPS, and maybe ARM).

MMU:
VxWorks had an optional component (i.e., you pay extra for it) that lets
the programmer MANUALLY set protected regions in memory. QNX does virtual
memory "as God intended" - each process lives in it's own protected, virtual
address space. QNX is POSIX, so it handles memory just like Linux, Solaris,
etc., except that it doesn't have a swap file. BTW, VxWorks doesn't have
real processes like QNX. What they call tasks are really threads. You
don't even get to write your own main()... your code gets compiled in with
everything else - one big, happy namespace!

FFS:
VxWorks had a flash file system as a third party option. QNX has
one-stop shopping.

GUI:
VxWorks had Zinc (a GUI library) and an HTML-based UI tool. QNX has
Photon (think of it as a light-weight form of X Windows) and Phab (an
integrated GUI application builder). Phab has definitely saved us some
time.

Reliability:
Presumably, the VxWorks executive is flawless since there's not much to
it. QNX 4 is pretty solid, but hiccups do happen. QSSL has to support a
tremendous variety of PC hardware, as well as a GUI, a web browser, etc.
Still, I haven't seen anything that would make me question our decision to
go with QNX.

Cost:
Licensing costs per unit were very similar. The cost of development
tools, however, was quite different. 2 VxWorks seats cost approximately
$40K; 2 QNX seats (including 1 Phab seat) cost about $8K. Also, Wind River
charges a "per project" fee - if you use the development tools for another
project/product, you have to pay them a percentage of the original tool
cost. They also have a yearly maintenance fee.


My advice:
If you're going to be cranking out a million widgets per year at $50 per
widget, and if each widget only has to do 1 thing (like control a CD
player), VxWorks may be the way to go. Otherwise, I'd recommend QNX.
... or embedded Linux. ;-)


DISCLAIMER: All of the above is my opinion ONLY. My employer is not
responsible.


Message has been deleted

Werner Schiendl

unread,
Mar 21, 2001, 7:02:25 PM3/21/01
to

"James Boucher" <jabo...@home.com> wrote in message
news:_H9u6.99203$p66.28...@news3.rdc1.on.home.com...

I think 40-50k is a pretty minimal VxWorks image, if you want to use
networking and other fancy things, don't expect that this will suffice.

>
> CPU:
> VxWorks runs on practically everything. QNX 4 only runs on x86 (but
QNX
> 6 supports PowerPC, MIPS, and maybe ARM).
>

No matter if you need other CPUs than x86 right now - we do not - you never
know what the future brings. Having the options to change to another
architecture is a major advantage from my point of view.

> MMU:
> VxWorks had an optional component (i.e., you pay extra for it) that
lets
> the programmer MANUALLY set protected regions in memory. QNX does virtual
> memory "as God intended" - each process lives in it's own protected,
virtual
> address space. QNX is POSIX, so it handles memory just like Linux,
Solaris,
> etc., except that it doesn't have a swap file. BTW, VxWorks doesn't have
> real processes like QNX. What they call tasks are really threads. You
> don't even get to write your own main()... your code gets compiled in with
> everything else - one big, happy namespace!
>

Tornado AE and VxWorks 6.0 will add a feature call 'Protection domains', the
windriver way of doing processes. Check out more details on the WindRiver
home page.

> FFS:
> VxWorks had a flash file system as a third party option. QNX has
> one-stop shopping.
>
> GUI:
> VxWorks had Zinc (a GUI library) and an HTML-based UI tool. QNX has
> Photon (think of it as a light-weight form of X Windows) and Phab (an
> integrated GUI application builder). Phab has definitely saved us some
> time.
>

Zinc is not that bad a tool for an embedded target. It depends, of course,
on what you intend to do. I'm not extremely experienced with Zinc, but you
will need to provide more details to find out more, I think...

> Reliability:
> Presumably, the VxWorks executive is flawless since there's not much to
> it. QNX 4 is pretty solid, but hiccups do happen. QSSL has to support a
> tremendous variety of PC hardware, as well as a GUI, a web browser, etc.
> Still, I haven't seen anything that would make me question our decision to
> go with QNX.
>

If the hiccups happen in the OS this would not sound promising...

> Cost:
> Licensing costs per unit were very similar. The cost of development
> tools, however, was quite different. 2 VxWorks seats cost approximately
> $40K; 2 QNX seats (including 1 Phab seat) cost about $8K. Also, Wind
River
> charges a "per project" fee - if you use the development tools for another
> project/product, you have to pay them a percentage of the original tool
> cost. They also have a yearly maintenance fee.
>

You need to discuss the pricing, if you intend to buy more than one licence.
The maintenance subscription includes upgrades as well (as far as I know).

>
> My advice:
> If you're going to be cranking out a million widgets per year at $50
per
> widget, and if each widget only has to do 1 thing (like control a CD
> player), VxWorks may be the way to go. Otherwise, I'd recommend QNX.
> ... or embedded Linux. ;-)
>

Cannot comment on Embedded Linux, but WindRiver has some neat tools for
embedded software development. You can definitely not compare Tornado with a
bunch of command line tools and printf-debugging.

regards
werner


James Boucher

unread,
Mar 22, 2001, 7:08:10 AM3/22/01
to
Bill>I thought that your message was somewhat polemic, so I responded in
kind.

Please don't get me wrong. I cut and pasted this message off
comp.os.qnx. I DID NOT WRITE IT. I posted it here to
get the exact balanced input that you have given. Thanks.
Note, if you went to comp.os.qnx this thread has a bunch
more vxworks bashing going on. Maybe you could
reply on that group?
Thanks,
Jim

"Bill Pringlemeir" <bpring...@yahoo.com> wrote in message
news:ubsquy...@yahoo.com...
> >>>>> "James" == James Boucher <jabo...@home.com> writes:
> [snip]
> James> CPU: VxWorks runs on practically everything. QNX 4 only runs
> James> on x86 (but QNX 6 supports PowerPC, MIPS, and maybe ARM).
>
> This can be a make or break point. The ARM, MIPS and PowerPC are all
> superior CPUs to any x86 variants. I say this on $/mip and W/mip
> bases... as well as functions points / Mb. You have handicapped
> yourself if you don't allow processor selection.
>
> ARM/Mips are superior in power conscious applications. ARM thumb has
> very good code density. 68k is very cheap.
>
> James> MMU: VxWorks had an optional component (i.e., you pay extra
> James> for it) that lets the programmer MANUALLY set protected
> [..]
>
> You shouldn't need an MMU really. If you do, then perhaps you have
> moved beyond `embedded'. As for name space, I think that C++ and its
> name mangling are actually quite good at solving this. You can use
> C++ to create readable code that does not require module prefixes
> under vxWorks.
>
> James> FFS: VxWorks had a flash file system as a third party option.
> James> QNX has one-stop shopping.
>
> Why does it matter that it is third party? The quality of TrueFFS is
> fairly good after some initial pains. I have written custom Flash
> libraries and I would give it a `B+' mark. I definitely wouldn't
> write something myself... Which begs the point "vxWorks _HAS_ 3rd
> party software!"
>
> James> GUI: VxWorks had Zinc (a GUI library) and an HTML-based UI
> James> tool. QNX has Photon (think of it as a light-weight form of X
> James> Windows) and Phab (an integrated GUI application builder).
> James> Phab has definitely saved us some time.
>
> Zinc, and pJava and web browser... I think that Zinc is pretty good.
> However if you have this much space, you might check out Linux and
> MicroWindow. "http://www.microwindows.org/"
>
> James> Reliability: Presumably, the VxWorks executive is flawless
>
> I hope it is reliable! Why would you buy something that wasn't?
>
> James> Cost: Licensing costs per unit were very similar. The cost of
> James> development tools, however, was quite different. 2 VxWorks
>
> You get what you pay for. However, if cost is an option then you can
> not beat Linux!
>
> You of course neglected tools. Which vxWorks is quite good at. If
> you like emacs and gdb then you would use Linux. If you have several
> click and drool droids, then vxWorks will be better.
>
> My question is why would you consider QNX? Either vxWorks or Linux
> makes a better comparison. Linux supports far more CPUs than QNX, it
> has more software available, and it costs little. (unless the GPL is
> threatening).
>
> I thought that your message was somewhat polemic, so I responded in kind.
>
> fwiw,
> Bill Pringlemeir...
>
> --
> Mentally retarded people are perverted, huh? So, JFK is religious?
> Useful vxWorks URLS,
> "http://www.xs4all.nl/~borkhuis/vxworks/vxworks.html"
> "http://www.xs4all.nl/~borkhuis/vxworks/vxw_pt9.html"


Dave Korn

unread,
Mar 22, 2001, 11:34:00 AM3/22/01
to
James Boucher wrote in message ...

>Bill>I thought that your message was somewhat polemic, so I responded in
>kind.
>
>Please don't get me wrong. I cut and pasted this message off
>comp.os.qnx. I DID NOT WRITE IT. I posted it here to
>get the exact balanced input that you have given. Thanks.
>Note, if you went to comp.os.qnx this thread has a bunch
>more vxworks bashing going on. Maybe you could
>reply on that group?

Why don't we all invade comp.os.qnx? We could use big processors and
proper architecture and refuse to code as those ruffians do?

DaveK
--
They laughed at Galileo. They laughed at Copernicus. They laughed at
Columbus. But remember, they also laughed at Bozo the Clown.


0 new messages