
Sure those systems are few, very few, but they exist. I think Solaris/x86 can go to nearly 4GByte, some Linux to 3 GByte, and why not talking about the old 80286 allowing 64Kbyte allocations on a 16bit addressing scheme. You are talking about the size of address space available to the user
-----Messaggio originale----- program. Even if your address space is 3GB, it's improbable that you're going to be able to allocate huge chunks due to external fragmentation of the address space, esp. when randomization (ASLR) is in effect.
It's not common but also not impossible, actually I do allocate single big chunks (well over 1 GB). Maybe in 5 years we still work with 32 bit code but running on computers where 16 GB is common so addressing up to 4GB is not that impossible. But sure, it's more an exception than a real situation.