">
I think others have answered the above much as I would have, so let me put
approach matters from a slightly different perpective…
I came to QNX4 from the MS camp (escaped perhaps8-) and I carry no
Unix/Linux baggage. What attracted me was a superb RTOS with the benefits
of
a Unix-like system but with a number of very POWERFUL and EASY-TO-USE
features that set QNX apart from the rest of the herd. In the main these
were -
QNX native networking with name location, IPC and media independence.
Ditto
The Photon “Jump Gate”
The ability to run a single Photon desktop over multiple video cards
and/or
nodes.
The point being that anybody with half a brain can produce stunning
results
very quickly by harnessing the power of these sort of facilities. OK, the
results are not portable and possibly not POSIX compliant, but who cares
when you can achieve (and usually exeed) your goal in half the time? I
have
managed to produce a number of (QNX4) networked products so far without
knowing the first thing about TCP/IP. I won’t start down the QNX6/QNet
rocky
road…
QNX6 is a “me too” OS and QSSL seems to have lost sight of what made QNX4
so
understandable and attractive to non-Unix programmers. Any wrappers that
can
be placed around intricate features to hide the complexity are welcome to
me - Ditto being one such.
Jim
I have to agree with Jim, QNX 6 is seems to have become more complex and
more difficult to do some of the seamliess things I was used to doing. My
biggest concern is that QNX’s message passing architecture is actually being
diminished in it importance. QNET does not match the functionality of
FLEET, and seems harder to use.
I don’t like this notion that seems to be permiating that we should just
use TCP/IP for all our stuff. I really dislikeTCPIP for embedded systems.
It makes no sense to me to use it after having been spoiled with FLEET on
QNX 4. I look at the S/R/R interface for QNX6 and I don’t understand why
somethings where done. (Channels for example) So I guess my point is, the
beauty of QNX was it making a network of QNX nodes into one virtual CPU.
I just finished writing a resource manager and there are some things about
it that bug me. I’m not sure I can articulate them yet, but I will be in a
the next few months as I play with it some more.
I don’t know if you want to call it syntax sugar, or what but, like Jim
said, QNX4 was easy and I’m finding road blocks and disapointments with QNX6
(GDB for exmaple I really liked watcom’s debugger in comparson. It seems
that GDB is a step back, not forward, the compile times with gcc are also
annoying). I was surprised when QNET was not offered from the start with
Neutrino, it made me wonder if the IPC architecture had been watered down
such that it wasn’t possible to do stuff like in the past.
Kris, in a post here you responded to Mario and asked “You left qnet running
on your machine in the field?”
I hope this was a sarcastic question or that I took it out of context. If
it wasn’t and I didn’t then you clearly don’t understand why at least I have
choosen to base my systems on QNX. It is exactly because I want to run QNET
in the field. It is this idea that machines can be hooked together to
create a fault tolerant, redundant and parallel system without the
clunkyness of a technology that is at least 2 decades old. In QNX 4 I was
able to debug over radio modems by using QNX’s native netowrking. Now I
have to install and configure TCIP./IP then PPP and all that garbage to do
the same thing, and its slower and uses more bandwidth thats lame! Qith
QNX4, could run my vehcile control system from any node. I know I still can
with QNX6, but it’s not as easy. I’m finding road blocks with QNX6 and they
surprise me when I come up against them. So far I’ve found ways around
them, but they initially strike me as uncecessary.
Look, I know things are still coming, Xiaodan has been working hard on QNET,
and he may be allowed to turn some features on that I personally have been
missing, and I know that there are other things in the works, but I hope the
main idea that at least I expect the same features from QNX4 to be present
is understood.
I think the ditto thing for me is that the idea that a QNX4 box could be
almost 100% controled from anywhere in the network was a consistant theme
througout the OS (utilities, API, etc). The same just isn’t true yet for
QNX6. We’re still missing stuff. Things like://4 some_binary was so cool
(ok, syntax surgar, but still the idea of a seamless multi cpu connected
with a network was demonstrated).
QNX has to be distinct from the other Unix like OS’s, you can’t conform and
expect to be noticed. There have to be things that give an aura of being
superior in most if not all areas, then people have to be educated on how
and why it is better so they understand. I like the idea that we can
compile other stuff on it and run it, but I don’t like the idea of making it
just like linux or unix. It can’t be just another clone. The ideas that
QNX expouses are good and benificial, they have to be kept and highlighted.
Using tcpip for everything is lame game.
Ok, thanks for letting me rant…I look forward to seeing many of the
suggestions made here make their way into some future offerings.
Best Regards,
Kevin