4 GB RAM in 32-bit Windows

edited September 2007 in Hardware
As I have read everywhere, 32-bit Windows cannot handle more than 3 GB of RAM. A lot say not to install more than 3 GB of RAM.

My question is this: Assuming that I don't care that the last GB goes to complete waste, does having 4 GB of RAM installed while running 32-bit windows (ie. XP Pro SP2) HARM the system? In other words, will a 3 GB system actually OUTPERFORM a 4 GB system?

Comments

  • QCHQCH Ancient Guru Chicago Area - USA Icrontian
    edited September 2007
    Windows cannot address more than 4 GB of memory. HOWEVER, that total memory, system and video memory. If you have a nice Video card with 512 MB or RAM and 4 GB of system memory, you'll see that you have less than 3.5 GB of RAM available. ;)
  • GrayFoxGrayFox /dev/urandom Member
    edited September 2007
    Xp will simply ignore the aditional 1GB of memory and ocasionaly give you aceess to 3.5GB.

    If you install ntldr from a server 2003 copy and enable highmem (its a boot option you can put in the boot.ini) it will enable 34bit memory addressing (Bewhere this is very hacky and causes some really strange things).
  • ThraxThrax 🐌 Austin, TX Icrontian
    edited September 2007
    It won't work, as you said, but it won't harm anything either.
  • edited September 2007
    Apparently having more than 2 GB of ram will cause Sound Recorder to not work.

    support(dot)microsoft(dot)com(slash)kb(slash)284893
    (forum won't let me paste links in normal format)

    So 2 GB, in this case, is "superior" to having 4 GB. Although nobody really needs Sound Recorder (due to substitutes), I'm wondering if it might be an indication of a problem on a wider scale with other applications.
  • Your-Amish-DaddyYour-Amish-Daddy The heart of Texas
    edited September 2007
    Isn't sound recorder 16 bit?
  • ThraxThrax 🐌 Austin, TX Icrontian
    edited September 2007
    It is.
  • QCHQCH Ancient Guru Chicago Area - USA Icrontian
    edited September 2007
    Correct... but how many people actually use Windows Sound recorder? :)
  • JokkeJokke Bergen, Norway Icrontian
    edited September 2007
    I do... Sometimes.. I feel that it fulfills my occasional needs, and I don't need something more. Not that it has anything to do with the original post.
  • edited September 2007
    QCH2002 wrote:
    Correct... but how many people actually use Windows Sound recorder? :)

    My point though, is that I'm not sure if the Sound Recorder problem is unique or if it could be a SIGN that many OTHER older apps may exhibit similar incompatibilities.
  • edited September 2007
    If I ran a 1 GB RAM DRIVE, will the remaining 3 GB still be usable by the system? Or does the RAM drive count as as part of the 3 GB limit?
  • Your-Amish-DaddyYour-Amish-Daddy The heart of Texas
    edited September 2007
    I would think if you turned it into a ramdrive, Windows would still have to address it.
  • EMTEMT Seattle, WA Icrontian
    edited September 2007
    Isn't sound recorder 16 bit?

    I doubt it. The executable itself is called sndrec32, and I'm not even certain the NT kernel OSes (NT, 2000, and XP) can run 16-bit applications natively. Moreover if 16-bit was involved we'd see problems at 2^16 bytes = 64KB.

    What you guys are most likely thinking of is 16-bit audio. Yes, sndrec32 can record in 8-bit and 16-bit audio (most sound cards can't input/output more precisely than 16 bits).


    I would suggest instead that the sndrec32 problem is caused by a signed integer mistake in its programming.

    The title of the MS KB article is:
    You receive a "Not enough memory available to complete this operation" error message when you try to record a .wav file by using Sound Recorder

    Here's an explanation. sndrec32 could store the amount of mem available into a signed integer, which has 31 bits of storage in addition to the sign bit. A huge unsigned value like 2.1GB has a '1' as the most significant bit, which doubles as the sign bit for signed integers, so 2.1GB and in fact every other value 2GB and over would look negative in signed form. So if the program compares mem_available < mem_needed, the expression could inadvertently evaluate true and the program would exit with an error like the one above. This mistake is probably easy to make because in C/C++, the signed integer is just called "int".
    hoverbike wrote:
    Although nobody really needs Sound Recorder (due to substitutes), I'm wondering if it might be an indication of a problem on a wider scale with other applications.

    So my answer would be a similar mistake could potentially cripple any program until it got patched, but it's impossible to say how many programs like that are out there. The fact that we've heard about the problem only on a program as little used as sndrec32 indicates it isn't terribly widespread.

    (I still have to decide 2gb vs 4gb myself so I'd be interested to hear more discussion)
Sign In or Register to comment.