I stumbled through many blogs about the limitations of a 32-bit Windows in contrast to 64-bit. The foremost difference is that a 32-bit OS can only allocate 2GB of RAM per process and 4GB RAM combined.
While the reason cited is that only 2^32 of address space can be assigned by 32-Bit OS but I am still puzzled how this limitaion comes into play? Can anyone enlighten me about it?
Answer
The reason is because 232 is the largest integer that can be stored in a single 32 bit variable.
Therefore, unless you have some scheme to split pointers across 2 (or more) variables or use 64 bit integers it is physically impossible to address a larger memory location. There will be many reasons why 32 bit integers or only a single variable will be used to address memory, but speed and reliability will be high on the list.
No comments:
Post a Comment