The QNX RtP 6.1.0 microkernel (which also runs on PCs) and its Photon micro GUI have been ported to the Compaq PDA solution, the iPaq. The screenshots look very attractive indeed, we just hope that the QNX team add some more software in it, like a Calendar, Contacts or a Todo list which are undoubtly, very useful applications for a PDA.
QNX RtP Ported to the Compaq iPAQ
2001-09-01 QNX 17 Comments
This is the only OS that deserves such a name.
It’s simple, modular and well thought.
We will see it more and more in the next years.
Let’s develop some great application.
One of the AmigaOne partners, Haage&Partner has revealed that they are working on a very fast Amiga emulator which runs on top of QNX RtP. http://www.amigaxl.haage-partner.de/
Interestingly it allows you to execute native QNX RtP applications from within the Amiga emulated environment.
I had some interesting discussions over dinner with CEO Jürgen Haage about the QNX RtP, Amiga emulation, AmigaOne and loads of other interesting stuff: http://www.stormloader.com/amiga/BAS/33.htm
QNX RtP is cool, I only wish more ex-BeOS developers would help us Amigans turning it into a cool platform instead of concentrating mainly on Kurt`s excellent hobby project AtheOS.
Very intersting… is this going to be an offical version of QNX when it’s done, or will it be an unoffical mod that a QNX employe made?
If anyone from QSSL is reading, you must release this! I am in the amrket for a handheld/PDA & I like the iPAQ hardware. No wince for me, though, & I’d MUCH prefer QNX to linux on an iPAq even if it was 10x uglier. Luckily it’s not, instead being 10x better looking. When I first saw this on /., I ws expecting QNX RtP desktop on the iPAQ — resizable, overlapping windows & everything. But no, they actually made it nice. (I though it’ld be somehting like this: < http://www.vitanuova.com/screenshots/charon_ipaq.jpg> — Inferno [baby Plan 9] on the iPAQ.)
Alexander QNX is a very cool operating system and Photon is alot more efficient as compared to X.
But note that while alot of companies are promoting their devices as ones being based on Linux they actually aren`t in the sense as the user/developer would think. A complete linux distribution is far to inefficient to be taken seriously for running on top of a relative lowly powered PDA device.
What do these companies use then? Many of the companies use just a special embedded Linux kernel and run another operating system on top of that. Although to outsiders it may not sound like a good solution but sometimes an “Linux” hosted environment actually is! What bothers me though is that they promote it as being an open source based platform, which simply isn`t the case.
So sometimes when you hear “Linux” hype you shouldn`t necessary think “Linux”.
I admit I was taken by how lovely the QNX was, & I have been thinking that QNX on a PDA would be nice for some time. When I said ‘Linux’ I really meant something like the distros handhelds.org, which is almost a standard desktop distro running on the handheld, with a graffiti clone. I prefer a environment designed for a handheld. Qt Palmtop environmet is actually pretty nice, & not X-based. But this QNX is prettier .
Maurizio Ferreira said:
‘This is the only OS that deserves such a name.
It’s simple, modular and well thought.
We will see it more and more in the next years.
Let’s develop some great application.’
Well thought out when compared with Linux but not when compared with BeOS I’d say. Anyway, you have to go into ‘Linux mode’ to get more than a few apps for it which defeats the purpose of the design being well thought out.
QNX is much more “well thought out” than BeOS/BeIA.
When people complain about QNX — most of the complaints fall into (as borrowed from microsoft’s terminology) the “this behaviour is by design” category.
There is a reason why QNX’s filesystem is so slow — it’s deterministic in design and governed by realtime rules. There is a reason why QNX boot slower than BeOS — your motherboard’s bios is actually slowing down QNX (you can create QNX systems without motherboard bios thus lowering your manufacturing cost by a dollar or so). There is a reason why QNX doesn’t play media files as smoothly as BeOS — media players are designed to be given a lower CPU priority because QNX runs on nuclear power stations.
While there are many more BeOS sharewares available than QNX, there are a lot more commercial applications (Citrix, DB2 Everywhere, Opera 5.2) for QNX. For example, there are quite a few voice recognition softwares available for QNX (for the QNX/IBM/Motorola MobileGT platform in driver information systems). They just cost a lot more than most of us can afford.
No need to wait for QNX to release the iPAQ stuff or for us to write all the apps. The entire demo was written and tested (in a few weeks) on stock x86 machines running RTP. The basic formula was:
1) Grab a screen shot and draw a UI (with your favourite BMP editor)
2) Implement the UI (using PhAB)
3) Code the backend
4) Glue them together
There really wasn’t any secret mojo involved here. Most of the “Memory” app was done in about 8 hours (most of which was staring at the code for “pidin” from cvs.qnx.com). A basic ToDo app shouldn’t be much harder, same for an Address Book app, with a Day Planner app just a notch trickier. Come on people! Download a copy of RTP and get going!
QNX RTP (a.k.a. QNX 6, based on the Neutrino microkernel) does NOT yet drive any nuclear power plants or medical equipment. This is QNX 4, and it costs a huge load of licensing. The filesystem is slow, because it’s simple. That was it’s major design goal, not determinism. OTOH, this simplicity makes it quite robust to a certain degree. The system also comes with a too small disk cache by default, and it does not yet support unique buffer caches (BeOS doesn’t, too).
The motherboard bios is not slowing down QNX. Who told you that crap? It (QNX’s startup code) just uses some expensive IDE/SCSI detection routines, it’s filesystem is not journaling, and the package filesystem has to be mounted (most of the files you install get installed in some special directories and will be transparently mapped to their ‘usual’ locations. This allows easy back-and-forth switching from/to older versions of the same app. Try killing the package manager and see where all your files are gone .
QNX also does not yet support virtual memory swapping. It creates a swap file by default, but almost no app uses it. This swap file feature is a dirty hack and has been added to the kernel in order to allow it to be self-hosted, and to run gcc properly. To use it, an app has to be specially programmed for it, much like the old DOS EMS/XMS. NO transparent swapping like on Win, Linux, BSD or BeOS.
Another important drawback is, that Photon is currently not thread-safe. Also, the current round robin scheduling algorithm is not appropriate for desktop use. One high-priority thread can easily freeze the system by hanging in a tight for(…) or while(…) loop.
I personally expect them quite some time to get all the kinks out of it.
BTW, cdm runs his iPaq version for quite some time now (half a year or so?), so this seems old news. The necessary iPaq kernel and system binaries and all the cross development tools are included on the downloadable CD image, so everybody can try to embed it themselves.
I wonder why Peter thinks VM for QNX RTP is a dirty hack. Actually the OS is very scalable and clean every desktop feature can be added in a very clean way. Many applications don`t use VM because they are designed to runs efficiently without it! They don`t need it. Quake III does need virtual memory on QNX RTP because it is designed to use loads of memory.
Also note that the BeOS filesystem guys has a job a QNX Software Systems nowadays. The clean design of QNX RTP allows it to use other filesystems without problems. Note that QNX is a configurable priority driven OS. You can give GUI tasks a higher priority just like Amigas have.
Samab, I was talking about the human interface not the engine house. Well mostly anyway. Lets see if they make progress on that front.
Remember that QSSL only officially released QNX6 in Jan 2001 (the day they released patch A) — of course there are still a lot of rough edges after only 8 months since its official release.
The design cycle for nuclear plants and other big ticket item projects can go 5 to 10 years. This long design cycle also corresponds to the long life span of each of the QNX versions. QNX2 lived during the whole 1980’s, QNX4 lived druing the whole 1990’s — QNX6 is expected to live for the next 10 years. While no current big ticket item projects use QNX6 right now — QSSL must design their new OS to work in those environments as well. A nuclear power plant that is in the drawing board right now won’t be built until the end of the decade. A lot of what seems to be designing/engineering flaws are in fact specific designing/engineering objectives.
A great debate of the QNX filesystem can be found here(where cdm did mention about the need of determinism in the qns filesystem):
Nice you mentioned this. I was the one who started this thread There you can read all my complaints about this system and the comments by a QSSL employee. I still think, QNX is a great design. It just involves too many tradeoffs, in my opinion. And it just doesn’t (yet) meet the requirements for desktop use.
samab: QNX is available for free download since Sep 2000. Almost a year.
Abba: The VM is a dirty hack, because you can not just allocate a 200MB big array if you have only 128MB of memory and a 128 MB swap file. You can do this on every other modern 32-bit OS but not QNX. On QNX you would have to do dirty things like in the very old DOS days to get some advance out of the swap space. This is 128 MB wasted diskspace since almost no program uses these special techniques. This *is* dirty.
The Sept 2000 release of QNX RTP was a beta release. QNX6 only came to official life at the release of patch A in Jan 2001.
My comments were more of a reaction to the “well thought out” comment. It is probably fair to a certain extent to dislike qnx because QSSL made design tradeoffs that made everyday desktop use difficult — even that should be limited because QSSL never market qnx6 as a desktop OS. But it is totally unfair to diss QNX’s deliberate design tradeoffs as a “not well thought out” OS. Skiver, nothing in Maurizio Ferreira’s “It’s simple, modular and well thought” comment was talking about the human interface — so I can only guess you were talking about the engine house.
Just a final note: The current QNX RTP 6.1 is a public beta, too.