On Tue, Jun 29, 2010 at 5:03 PM, Roger Wright <[email protected]> wrote:
> Can 32-bit apps take advantage of the additional RAM seen by a 64-bit
> OS or are they limited to running in a regular 32-bit memory space?

  32-bit programs still see a 32-bit virtual address space (4 GiB).

  However, the kernel and drivers and hardware are not constrained to
a 32-bit address space, so they don't eat into that.  So 32-bit
programs can access *more* of the 32-bit virtual address space.

  However, unless the 32-bit program was compiled with a special flag
(LARGE_ADDRESS_AWARE, if I remember correctly), they are artificially
constrained to a 2 GiB virtual address space.

  IIRC, a 32-bit program with LARGE_ADDRESS_AWARE can access up to 4
GiB of in-process memory on a 64-bit system.  That will include
non-RAM memory mapped regions, though.

  You can also run more 32-bit programs at once on a 64-bit system,
since the 64-bit system can have more total RAM, giving each 32-bit
process a bigger chunk than if the system as a whole was limited to 4
GiB.

  Thus, whether or not moving to a 64-bit Windows will help your "out
of memory" problem depends on a number of factors.  :)

-- Ben

~ Finally, powerful endpoint security that ISN'T a resource hog! ~
~ <http://www.sunbeltsoftware.com/Business/VIPRE-Enterprise/>  ~

Reply via email to