How much memory can XP use?

Sharky Forums


Results 1 to 14 of 14

Thread: How much memory can XP use?

Hybrid View

  1. #1
    Great White Shark
    Join Date
    Nov 2000
    Posts
    21,595
    The 64 bit version will. I don't know about the 32bit version since I'm only running Vista as a guest OS with 2GB memory on a Win2k3 box.

  2. #2
    Reef Shark
    Join Date
    Nov 2000
    Location
    Scotland
    Posts
    313
    Basically the memory mapped IO *is* the problem, and it's equally a problem on Intel and AMD motherboards.

    With the introduction of the No Execute Bit for Data Pages in SP2, Windows XP now runs in PAE mode (Page Address Extension, to enable the addressing of >4GB memory) even when running with 4GB or less. There are reasons for this that I won't go into because it's not relevant.

    What this means is that all drivers that need to access the memory mapped IO, through DMA for example, would have to understand PAE in order to work correctly with SP2. Microsoft determined that this was not the case, and modified the way that PAE works so that the memory mapped IO is all under 4GB, and badly written drivers are safe to use.

    So, to summarise, XP SP1 does not support the no-execute bit, and therefore does not need to turn on PAE if the memory size <= 4GB. If you turn on PAE with XP SP1, then it can re-map some of the IO addresses > 4GB, exposing more of your real memory for use both by the kernel and userspace, but with the risk that badly written drivers might not be able to use the re-mapped IO addresses. XP SP2 prevents that re-mapping, so hiding more of your memory, from both the kernel and userspace.

    This has nothing to do with the process address space, which is always either 2GB or 3GB depending upon the /3GB switch you pass to the kernel on boot up. Your processes will always have this much "virtual" address space. Some if it may be real memory, some if it may be virtual memory on the hard disk. The real memory is backed up with memory addressable by Windows, which, unfortunately DOES NOT include the memory hidden by the IO address map.

    32 bit Vista is likely not affected by this, since the driver model is changing anyway. I would expect that in order to get a vista driver certified it will have to behave correctly in PAE mode.

    Anyway thats me done. Only trying to help and provide a bit of background information.
    Athlon64 X2 4600+ | Asus A8N-SLI Deluxe | 2GB Kingston DDR400 (3-3-3)
    2x XFX 7800GTX (SLI) | 20.1" GNR TS2000H | 17" AOC LM720
    (4xSATA) 1.2 TB | Pioneer DVD+-RW DL | Pioneer DVD+-RW
    SB Audigy2 Platinum Ex | Logitech X-530 5.1
    Logitech diNovo Bluetooth desktop | ThermalTake Xaser III V2000+, Enermax 600W

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •