As a note to your updated post - the 2 GB address limit is for all space, whether it's in physical or pagefile RAM. The application shouldn't actually know whether it's using physical or virtual RAM. It certainly can, but the idea is that it should be abstracted from the application.