Hi Zejko,
On the same machine, under the same OS?
Yes. This is not unusual, especially on Mac OS X. With each successive OS version, Apple has pushed more and more towards 64 bits. But this won't happen overnight, and the result is that 32 and 64 bit executables have to coexist.
Out of curiosity, what circumstances force you to share memory between 32- and 64-bit processes?
We have a 32 bit daemon, and both 32 and 64 bit client processes that need to communicate with the daemon.
Are all participant processes developed by you?
In some cases, no. Customers of ours will be able to use our libraries in 32 and 64 bit binaries that they create.
The limit is much less than 4G. Kernel wants some share of address space for itself, all (priavte) memory allocations eat up address space, add to that potential file mappings.. But this is an inherent problem with 32-bit address spaces.
From a pragmatic perspective, I agree. Certainly in our specific case we only want to share a small amount of memory between processes (regardless of their addressing size), which I would think is typical for most IPC uses. Best, -- Allen Cronce