However I’ve been running some simple tests on the virtual memory system under QNX and was able to allocate up to 1.5 GB of memory to a single process (using mallocs) on a system which had only 1 GB of physical memory. I don’t see how this would be possible without using a swap file.
Be careful when you read the documentation. QNX does use Virtual memory. It does page memory to disk. Memory references are virtual because the connection between your virtual references and the “Real” memory are made by page tables, segment tables, via the processor.
I recall that QNX may not allocate all the real memory to the stack initially, but instead allocate it as you get faults, but you should never be able to allocate more memory than the system has in real.
Hi guys,
Thanks a lot for your replies, they were most helpful.
Turns out the test program was fine, the machine had 2GB of ram after all!
Stupid me.
Cheers,
Matt