Wednesday, September 17, 2014

windows - Why is there RAM usage limitation in 32-bit Operating Systems?






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

linux - How to SSH to ec2 instance in VPC private subnet via NAT server

I have created a VPC in aws with a public subnet and a private subnet. The private subnet does not have direct access to external network. S...