64 bit OS


Just as 64 bit windows OS, does QNX support 64 bit OS ?


A 64bit OS, not yet to my knowledge. Something may be in the works. I believe there may already support on x86 for more than 4Gig of memory. That doesn’t require a 64 bit OS, however each thread would still be restricted to 4Gig of memory space, not a particularly onerous restriction.

The question usually is what 64 bit would be needed for. Microsoft is the big exception of requiring a 64 bit OS to use more than 4G of RAM. QNX is a 32 bit OS and can address 64 GB of RAM, with each process (not thread) having access to up to 4 GB.

The assumption that 64 bit generally gives better performance has been proven wrong by many, the internet is full of information about this. Tests have shown that, if performance increased at all, it was about 3%. Only with heavy 3D calculations on high resolutions, up to (!) 15% performance increase was measured. Not worth the hassle IMHO.

As soon as several big QNX customers from the Automotive space, or RIM, need 64 bit, it will surely be done - I just think it will take a few years until then.

Thank you for your information

We do! The 3G limit for a process is becoming more and more of a problem for us. We are contempling switching OS for that reason, before it hurts our ability to add features.

That being said if you go to fill in a case report on QNX`s portal X64 shows up as a list of targets ;-)

Just my own opinion here. You might be able to get around the need for 4Gig by having multiple processes each with a large allocation. That would depend on your application and ability to deal with any awkwardness that would be required and desire to stay with QNX.

However, I don’t think you will be able to wait long enough for QNX to get around to this. Their focus is in embedded systems, and the number of such systems that need 64 bit is vanishingly small, so I expect it will be a long time.

Already there, we use PC with 32Gig of ram ;-)

Quite true, that being said we probably still have a enough time to wait for the next major release 6.6 ?? We will wait till then to decided ( well QSSL will be deciding for us ). That being said if push comes to shove, we can work on our code to make it consume less memory. Sometime throwing hardware at a problem is not the wise thing to do, but sometimes it is ;-)

I’m curious, could you elaborate what your application is doing so it needs this amount of memory? How did you do it 5 years ago? 10?

Let me guess - you are either in image processing and moving up in resolutions, or in the netcom space?

Yes it has to do with image processing ( data in 3D ), but it’s not just resolution. There is more CPU power than there was 5/10 years ago, so we are adding more and more features and these features require ram ;)

And performance is real important so data need to live in ram. Imagine having to find the phone number by using a name, but doing so while supporting all the phone number in north america and finding the answer in 500us ;-) It would make sense to have everything in memory, nice and fast. Any other solution would become overly complex IMHO.

At least on x64 you don’t really need whole OS to be 64 bit to run 64bit applications.
OS can switch CPU x86 /x64 back and force. Of course, some API translation layer has to be developed, as well as support for x64 page tables, but that’s much less work than making whole OS 64bit.
Some kind of proof of concept is a 64bit OS running in VMware player on 32bit host OS (yes, it works).

Not sure about that.

Providing 32 bits compatiblity can be lots of work ( just the testing involved). I`d be happy with a 64 bits only version of QNX6.