ASSUMING x86-64 ARCHITECTURE, RAM > 4GB, AND 64bit WINDOWS 10
Given that any memory location used by a 32bit compatible application can only address memory locations within the first 4GB of RAM(4 byte addresses), wouldnt that mean that every 32bit application would need to run on the same 4GB of RAM in a 64bit system with more than 4GB of RAM. If there is some scheme to make it so the same 32bit memory locations map to different 64bit memory locations to allow for more than 4GB of RAM usage by the collective 32bit applications(i.e mapping the different sections of RAM for the 4GB of addressable memory in each 32bit application, such that with 8GB of total RAM for example, one application occupies the first 4GB and the other the next 4GB-mapping the 32bit addresses to different sections in the 8GB), how would 32bit applications communicate with each other under such scheme(given equivalent addresses could point to different memory locations)?
Simply: How can 32bit code use more than 4GB of memory in a 64bit computer, and wouldnt all 32bit applications have to share the first 4GB of memory?