I know 32-bit Windows places a limitation on having only 2GB for user-programs (or 3GB for /3GB), since Microsoft reserve the physical (:?) and virtual addresses above 3GB for the kernel and drivers.
The kernel and drivers barely use up 200MB, leaving 800MB to go to waste. However, the best part of my plan is that my nVidia graphics card allows me to assign memory to graphics card (which exists in kernel-space). So I could assign the ~800MB of left over memory to my graphics card.
