There are many misconceptions about the memory limit in 32-bit Windows OSes.
First of all, when I say RAM, this includes every kind of RAM. So not just regular, but also your video RAM.
The maximum available amount of RAM per process for a 32-bit OS is 2 GB. If you have a 64-bit OS, a 32-bit process can allocate up to 4 GB.
Additionally, the entire OS can only address 4 GB for every process combined, while 64-bit OSes can allocate 8 TB.
Also interesting is that this limit adds up to the paged pool. This means that a 32-bit OS cannot use more than 2 GB total, which means 6 GB for all applications including virtual memory. Of course, this has nothing to do with RAM, because the other 2 GB would be stored in the paging file, limited to your hard-drive's speed.
For more information, see Memory Limits for Windows Releases.
Note: this is for applications only. A 32-bit Windows OS can allocate up to 4 GB total, but 2 GB of this is allocated for system use only, leaving only 2 GB for applications to use. In certain cases (especially newer OSes) this is divided as 3 GB for applications and 1 GB for the kernel.
I only discussed Windows because that is the context in which the question was meant. I am unfamiliar with the limits of other OSes.