Just in time for the Embedded Systems Conference in Boston this week, we here at OSAlert thought that we would bring our readers an interview from the world of embedded OSes.
OSAlert was happy to meet with Paul Leroux of QNX Software Systems at their headquarters in Kanata, part of the Silicon Valley North area around Ottawa, Ontario. With 20 years of experience in the field, QNX is synonymous with embedded systems. Many people will be familiar with the QNX demo disk that fit their OS, GUI, browser, web server, games, TCP/IP, and more onto a 1.44M bootable floppy. In 2000 QNX gained notoriety for making the QNX realtime platform free for non-commercial use. QNX has been riding a wave of buzz in this last year. We spoke during the hectic lead up to Embedded Systems Conference. 1. Paul, first it was that impressive demo disk and then it was the full-fledged release of QNX RTP. Were you testing the waters for a QNX desktop market?
Paul Leroux: That’s a popular question. The QNX realtime platform is a desktop for developers. QNX needs to provide developers with a full variety of tools. But, developers are people too! Like everyone else, they want an easy-to-use desktop to surf the web, to play multimedia, or whatever. That’s really where we’re coming from. So, no, we weren’t testing the desktop market for interest. We have 20 years of really extensive embedded experience. We’ve been bringing desktop features into our embedded development platform, not moving in the other direction.
2. And developers out there have responded favourably?
Paul Leroux: Making our OS freely available has been more successful than we imagined it would be. QNX is a self-hosted OS, a unified development-environment and target-environment. With traditional RTOSs, you have a very iterative development cycle. You build your code, you download the project to your target board, test it, debug it, download it again, and again. Developers can avoid this when the development and target environments are unified. Now a typical embedded developer can test the behavior and performance of their project right from their desktop.
As for the free download, we decided that we really wanted developers to have access to our technology right away. Why put them through some purchase approval process? This way they can become acquainted with our technology, or quickly put together a proof of concept.
We don’t mind if people want QNX for non-commercial personal use. That’s not our market.
3. So what about all of this extra notoriety? Was it useful?
Paul Leroux: This really helped get our name out there. As an embedded OS we allow our customers to brand their products themselves. This is why there are few “QNX Inside” labels pasted all over our customers’ boxes, or logos in the corners of some interface screen.
We have a lot of customers that we can’t talk about, and that’s the bitter sweetness of the embedded systems market. Customers really want to use your product, but they don’t want to tell anybody. We’re their secret sauce.
4. And feedback from customers since the release?
Paul Leroux: We’re focused on several different ‘verticals’ within the embedded market. Customers in these market verticals can respond very differently, as you can imagine. For instance, we’re becoming very popular among manufacturers of networking devices like routers and switches. We are in the medical device field with products like home dialysis units. Home gateways are a growing interest for us, as are in-car telematics systems. And of course, Internet Appliances and other consumer appliances.
We assure customers that just because we may be gaining notoriety in a very different field from theirs doesn’t mean that we’ve forgotten about them. Our product goes to customers that are looking for extreme reliability for either mission-critical or life-critical systems. Whether it’s a medical device or a nuclear power plant monitor or an in-car computer, these fields can’t tolerate uncertainty or unreliability.
5. What features of the QNX RTOS stand out?
Paul Leroux: Our SMP and scalability are very attractive to customers. Both SMP and distributed processing are built right into the core of the system. We’ve been based on based on a distributed model since the mid-80s.
QNX is inherently a message-passing OS, so any process can send a message to another application or driver without having to know whether the recipient is on the local CPU or on a completely different CPU. As a result, you can code applications one way, and then run them on either a single-processor system or distribute them across several networked processors. It’s the same code and binaries either way. We can do that kind of scalability better than anybody.
6. And the platforms that you’re ready for?
Paul Leroux: PowerPC, x86, SH-4, MIPS, and the ARM/StrongARM/XScale family. The nice thing about our architecture is that the whole world doesn’t have to change when you change processor platform. And that’s partially because we were very careful to make sure that our microkernel is “processor agnostic.” We’ve been very successful with x86 for a long time. And, because of its role in the networking world our PowerPC environment is very, very good. As a QNX developer, you can do your development work on x86 but actually target, say, SH-4 or MIPS.
7. Where does your development happen?
Paul Leroux: The bulk of the development team is located here at QNX headquarters. The whole shouting over the cubicle thing seems so integral to the development process. There are also some developers, individuals and small groups, aroundthe US and in Germany.
8. Linux has been receiving a lot of attention for the embedded systems market recently. Where does this put QNX?
Paul Leroux: That’s true. And, really, it’s a matter of using the best tool for the job. For instance, QNX’s microkernel architecture, which allows all drivers and file systems to run in MMU-protected user space, can be much more appropriate for high-availability networking products. Likewise, our source licensing model, which enables you to ‘keep’ your intellectual property, is designed for embedded OEMs, many of which won’t consider the GPL.
But, I must say that, with the increasing popularity of Linux we have seen an attendant increase in the amount of developer talent out there that knows the POSIX API — the same API embraced by QNX. That allows both us and our customers to leverage Linux talent. So, it’s sort of a mix of synergy and competition.
9. Are there plans for supporting BT8xx TV-cards, more SCSI devices and more 3D graphics support?
Paul Leroux: We can now support TV and video capture cards; it all comes down to customer demand at this point. As for SCSI support, we’ve implemented changes that make it easier for both ourselves and third parties to support SCSI devices other than disk drives. And as for 3D support, we haven’t had strong enough demand in the markets we’re targeting, but we’re reviewing the situation to see whether 3D should bumped up the priority ladder.
10. Does QSSL have plans to work on the Filesystem side QNX? To add journalling, 64bits, and maybe even support formeta-data? I mean, Dominic Giampaolo, the father of BFS, now works for QSSL.
Paul Leroux: QNX version 6.1 now supports the Ext2 and FAT16/32 file systems, as well the QNX 4 filesystem. We’re currently investigating next-generation filesystems, but haven’t come to a final decision as to what direction we’ll take. Stay tuned!
11. When is the next planned version for QNX RtP? Any spoilers?
Paul Leroux: All I can say is just keep watching.
I like the looks of QNX and have been reading up on Realtime OS architecture and such, but I have to admit that I would be more interested if they include the flexibility of being able to add icons to the desktop and things like that. Actually from what I have heard this will be added soon. So that will be nice to see
QNX does not need icons on the desktop! That would clutter the desktop unnecessairly! Just use the shelf for your icons!
BTW, great interview! I enjoyed it alot
Does that mean that ext2 is supported as the root filesystem, or just accessible? Is it writable? How’s the performance?
QNX needs desktop icons, to make it more user friendly and complete. It is one thing I really find missing.
i noticed the app Worldview running in the bottom right-hand corner of the screen shot. Does this come with QNX?
/me may dig out my QNX CD and resinstall, coz i use this on BeOS (Workspaces) all the time and even on Solaris (CDE) all the time as well.
As far as the desktop icons go, you can get around that by using your own directory of Symbolic Links until they build it in to the OS. Coz really all that desktop icons amount to is shortcuts (in the windows world) and symbolic links in the rest of the world.
cheers
peter
Yes, WorldView is exactly like BeOS’ Workspaces. You can move the windows around as well etc. This application is coming as default on the new QNX 6.1.0 (released on 30th June), not to previous versions. So, I guess you will have to download the latest version…
Once again QSSL seems to have missed the point – in order to compete effectively with other Unix offerings, you gotta get the 3rd party manufacturers to commit to, and support, it. Having struggled with this problem on QNX2 & QNX4 for over 10 years, we are about to give up on QNX – none of our interface card suppliers are in the slightest bit interested in Neutrino!
QSSL has NOT missed this point! It is one of (but only one of many of) the reasons for the “free for non-commercial use” version of QNX RTP.
The really short-sighted ones are the interface card suppliers who are “not in the slightest bit interested in Neutrino”.
Working for a 3rd party manufacturer myself, I can attest to the fact that writing drivers for QNX (particularly Neutrino) is much easier than writing drivers for the other more “mainstream” OSes! And, surprise, surprise, it is easier to get full performance from high performance peripherals (and even not so high performance peripherals) under QNX.
I am sorry that your 3rd party manufacturers have put you in such a bind, but it is *their* short-sightedness, not QSSL’s.
It is also the reason that QSSL is writing their own drivers for high demand peripherals (where the manufacturers are not so short sighted as as to deny QSSL access – even under NDA – to the information necessary to write those drivers)
I think that you may end up wasting a lot of “Learning Curve” time when you switch to another OS – even is it is Linux or another POSIX OS.
Is there any chance you can find an interface card supplier that does show some interest in supporting Neutrino? What kind of interface cards are you looking for, anyway?
In some cases, you may find it more cost effective to write your own drivers than switching OSes in midstream. Or get someone else to write them for you. All assuming, of course that the interface card manufacturers are willing to disclose the necessary details about the hardware (under NDA, of course!)
I understand your frustration, but you may need to “throw a little money” at the problem directly, rather than “throw a lot of wasted money” at the problem indirectly.
That is – pay what is necessary to get QNX drivers, rather than pay endlessly (in many different ways) for the waste generated by switching to an equivalent (if there is such a thing) or inferior OS.
I personally am not aware of any OS (that IS supported by the interface card suppliers, at least) that can match QNX6.
You can add the worldview into the shelf in RTP 6 manually. Go to the shelf config and add a new module. Go throught the module names until you come to the one for world view (I can’t remember the exact name but it is like worldvw.something). Then it will be on your shelf. There is a how-to page on the qnx website.
…that explains how to add the worldview app on RTP 6 (pre 6.1).
http://qdn.qnx.com/support/bok/solution.qnx?10039
My apologies to Steve@cormantech – I was forgetting the X25 Interface card we used. However, I think you are the exception rather than the rule [something to do with living next door to QSSL perhaps?]. It’s that ol’ chicken and egg problem… there is no doubt that, unless QSSL pushes Neutrino and DEMANDS manufacturer support for it at driver level, it ain’t gonna happen! Three of our suppliers have stated that they will not/no longer support QNX4/Neutrino because there isn’t sufficient demand to warrant it. If and when we do manage to get source code for, say, Solaris or Linux, and port it ourselves, the supplier will not support us. And, of course, if there are bug fixes and product upgrades, WE have to do it all over again! You want evidence? Ask Brooktrout!
Zigzag wrote:
“QNX needs desktop icons, to make it more user friendly and complete. It is one thing I really find missing.”
I totally agree. Most of us can’t (and won’t) get back to Win3.11 days, sorry…
Apology accepted (not that I was really looking for one!
BTW if you call being 5 hours drive(on good highways)away being “next door”, then I guess we are next door to QSSL.
I agree it is the chicken and egg problem, and am not blaming you for it. I don’t think you can blame QSSL for it either! That is the main point I am trying to make.
If you think that QSSL can DEMAND support, why didn’t you demand it? You (as a buyer of the product) probably carry more weight than QSSL (as an OS company) does. Actually, I bet you tried (nicely) to do just that! The point is that nobody (with the possible exception of the 800 lb. gorilla) can demand that the manufacturers do anything!
I think we will just have to wait for QNX6 to gain even more market acceptance before these short-sighted companies will change their tune. (More’s the pity – for us and for them)
“I totally agree. Most of us can’t (and won’t) get back to Win3.11 days, sorry”
Dude. Just because you can not put icons on the desktop doesn’t mean it’s as bad as Windoze 3.1. You can put icons on the shelf. That is that area to the right and below the desktop. That is fully customizable. You can out icons, folders, etc there. Am I the only one who actually customizes the shelf?
http://www.ann.lu ..Qnx on amiga.
I’ve every new release of the “free” desktop version. I think it’s the worst GUI I’ve ever used. But it is damn fast, but then so is BeOS.
I wish I could use my TvCard,sound card and CD-Burner. And a better web browser woulnd’t hurt, but I heard their getting Opera 5, so that’ll do.
But until some real improvements are realized, I won’t be using it. But I suppose QSSL doesn’t care about me, as I am just a “home user” and have no interest in developing anything for them.
yeah the UI is pretty bad but at least it is actively developed. Think of it as BeOS PR1. Not meant for the faint of heart. Hey if people didn’t use PR1 back then, there wouldn’t be BeOS 5 today
I have to admit, the QNX GUI is pretty klunky. I don’t like this shelf thing and I want desktop icons. But according to the FAQs, isn’t it possible to use x-windows or QNXwindows anyway? I am just trying to figure out how to do that. Lol I haven’t even figured out how to install stuff on QNX yet. Is a port of StarOffice available?
The QNX 1.44 Challenge Demo disk is supposedly the “feather
in the cap” of the entire QNX model, a modular microkernel
OS that you can build only the components into what you need
into an embedded system. Right? Its been splashed all
over the internet. Every news story I read about QNX starts
out talking about this proof of concept disk.
So theoretically an embedded developer shoudl easily be
able to replicate the efforts of this… proof of concept?
Because that’s what an embedded developer would want to do,
boot QNX out of minimal storage, fire up a GUI, and have
their custom GUI interface APP launch.
~
I’ve installed QNX RP 6, connected it to the network, learned
about buildfiles and how to right an image out to disk…
and I can get a floppy to boot into QNX and dump me to a yucky
looking shellprompt. That’s about as far as I’ve got
for sample build files to build an embedded OS using QNX.
So where do I find sample build files to do what was done
on the Challenge Disk? Namely, an image to fire up Photon, get a
Photon App running, and put it on a floppy or in an embedded
device. Without documentation or sample code I am still left
‘imagining’.
Can anyone tell me where to find the build files and code
that was used to make the Challenge Disk? Now that the
source code has opened up, I’d like to see how this was done.
Show us how to build embedded GUI systems someone. please.
~
As for ICONs on the desktop, let it be an option, but as a
default no, they are horrible, links should be on the task
bar or a shelf or powerbar… the desktop is only for
temporary work, ever since moving from Mac (where you do it
alot) to Windows (where you try to avoid it) to Linux Mandrake
8.1 (where they just get in the way of yoru pretty background),
I’ve pretty much come to the conclusion they are a BAD THING ™
I like the QNX Desktop, its elegant and well thoguht out.. the
taskbar seems to disappear when being updated, but otherwise
its aestetically pleasing and usable. Oddly, I find it more
comfortable then KDE2.
Mark