Random Thoughts – Randosity!

So you want 8GB of RAM in your computer…

Posted in 64 bit computing, computers, linux, windows by commorancy on January 30, 2009

This seems like a simple problem to solve. You know, like opening your computer and putting the RAM sticks into the slots, closing it and turning it on… Seems simple enough, right? But, wait! What’s this? You’ve booted up Windows and it only shows 3.65GB of available memory. How’s that possible? Is there something wrong? Where’s my memory? It’s there, but take a breath, get a cup of coffee and read this…

Welcome to the 32 bit club!

Since RAM costs are, once again, on the downward trend and the size of the sticks are going up, it’s inevitable that you might think of adding 4GB or more RAM to your machine. However, it must be said that 32 bit operating systems have important limitations that need to be discussed, but that no one is really discussing. Note, some operating systems are more affected by the 32 bit limitation than others (due to some 36 bit additions).

What is the 32 bit RAM limitation?

A 32 bit operating system that’s installed can only address a maximum of 32 bits of memory address space. That is, the amount of total memory that can be installed and visible to an operating system. In a 32 bit operating system, that amounts to a total of 4GB of RAM (no matter where that RAM is). Note, that this space includes such installed RAM as system memory, cache memory, video card memory and any other incidental memory that the operating system has direct access to. So, for example with Windows, if you install 4GB of RAM, you may see 3.62GB available. The amount of missing RAM that makes up the difference to 4GB total is video RAM and other RAM caches installed in other hardware devices. So, the more RAM in your video card or USB controller, the less you’ll will see in available memory to use for applications.

Windows 32 bit vs Linux 32 bit

As of Windows Vista 32 bit (any home edition), Microsoft has not addressed this 4GB limitation. Thus, installing more than 4GB RAM in your 32 bit Windows system is not only wasteful (take the extra RAM back to the store if you still have the receipt or read on for the other alternative), but it won’t let you use more than 4GB on home editions of Windows 32 bit systems (Vista included). Windows server operating systems have been designed to allow addressing more RAM (like Linux 32 bit), but that’s an expensive operating system to run at home just to overcome that limitation.  I’ll reiterate, non-server Windows operating systems (Vista, XP Pro, etc)  haven’t been fixed to allow installation and use of more than 4GB of RAM.  Only Windows systems with the ‘Server’ moniker address more than 4GB of RAM.

Through Intel chip extensions and the Linux (and Windows Server) 32 bit operating systems, this has allowed for up to 36bit of addressable RAM space. So, that extends the 4GB maximum of RAM installed to up to 64GB of RAM space. While this does allow installation of up to 64GB of RAM, there are other important operating system limitations that can prevent full utilization of that installed memory.

PAE

The extension from 32 bit to 36 bit addressable RAM space is called Physical Address Extension (PAE). Intel added this extra bit space to allow for just this eventuality in RAM. But, the underlying operating system needs to be able to support it. As of this writing, only Linux 32 bit fully supports PAE.  As far as Windows, not all versions of Windows support PAE even though this MS developer article states that Windows does support it. True, Windows does support it, but only Windows Server versions.  So, the lack of support includes all versions of Vista and below (XP Home/Prof, 2000 Prof and 2000 server). I believe that PAE was added to 2003 server and above.

If you pick up one of the most recent versions of Linux 32 bit (in the last 1-2 years), you should be good to go for PAE.

As far as Mac OS X, it appears that from user complaints I’ve found through Google, that 32 bit Mac OS X does not support PAE (or doesn’t support it fully). On the other hand, there is a 64 bit version of Mac OS X. We’ll come to 64 bit editions shortly.

What about the applications?

Applications are also a problem. 32 bit applications can only address up to 4GB of RAM space. So, even if you manage to get all 64GB of RAM visible to your operating system, each 32 bit application itself can only use a maximum of 4GB when running (even when running on a 64 bit platform with 32 bit compatibility). But, when would an application need more than 4GB of space? Well, if it’s a database server, a 3D rendering application loading lots of texture maps with high res 3D meshed objects or even Video editing suites such as Vegas or Pinnacle studio where you have lots of video and audio media. Even gaming may begin running into this important limit as 3D worlds get larger and more complex. So, expect this issue to become even more important as applications grow bigger and more complex.

Ok, what’s the solution?

The resolution to this issue is a 64 bit (or higher) operating system. Linux 64 bit or Windows 64 bit breaks these 32 bit barriers down. A 64 bit operating system can address 16.8 million terabytes (16 Exabytes) of RAM. That’s so much RAM, at this point, it’s effectively unlimited as of today. In 15-30 years with technology progress, we might be able to purchase a 1 Exabyte stick of RAM and come close to the 64 bit limitations. But, not today.

64 bit natively compiled applications also allow for addressing 16 Exabytes of space within the application’s memory footprint. This also opens up doors to much larger databases, video games, editing softwares and any other very memory intensive applications.

Growing pains and adoption

To date, our softwares are still firmly entrenched in the 32 bit world. This is a world that’s rapidly approaching its end of life. Yet, we are not taking any steps to make it obsolete in favor 64 bit. The issue, however, is that we have not had a pressing need as yet. But, this is the time when it should happen. We need to make the move today when it’s NOT going to be painful. We should not wait until it becomes a major issue and then have to force everyone to move because of a major 32 bit failure (like the millenium clock thing).

Microsoft has made moving to 64 bit Windows much less painful than it used to be. The 32 bit subsystem in 64 bit Windows operates nearly every 32 bit application seamlessly. The only real issue with 64 bit Windows is drivers. Many drivers for 64 bit Windows are still way unstable for everyday use. No, the 32 bit Windows drivers do not work under 64 bit Windows.  So, if you bought Adobe Acrobat, for example, you cannot install the PDFWriter printer driver from your 32 bit media.  You’ll have to upgrade to the 64 bit software edition (if they even make it).  So, this driver issue is a substantial roadblock for Windows. This is partly because of the driver manufacturers, but it’s also partly because Windows Vista’s driver system is broken. Perhaps Windows 7 will be the correct step moving forward, but it’s way too early to tell. Suffice it to say that Windows Vista 64 bit can be used successfully with 32 bit applications.

Linux transition to 64 bit has been far more painful than Windows. While Linux does offer a 32 bit system to run 32 bit applications, compiling applications for the 64 bit environment can be quite a challenge.  Installing 32 bit applications on a 64 bit Linux system can also be a challenge.  Many source code trees use hard coded 32 bit integers that prevent easy compilation and, thus, cause many compilation errors that must be fixed. So, getting something like Firefox compiled on 64 bit Linux (or any other 64 bit OS ) is a challenge. Worse, the Adobe issue (see below) makes using a 64 bit compiled browser painful (for both Linux and Windows).

I haven’t had experience with Mac OS X 64 bit directly. So, someone else will have to speak of compatibility. However, according to Apple’s website, Mac OS X 64 also has a full 32 bit subsystem for running Mac 32 bit apps.

32 bit applications on 64 bit operating systems

Some important things to note about this issue. 32 bit applications running on a 64 bit operating system don’t gain any real benefit by running under 64 bit OS. The only notable exception to this is that the application will have access to the full 4GB of RAM space rather than the lesser amount if running under a 32 bit operating system. 64 bit users should encourage developers to create 64 bit editions of their favorite softwares to ensure that the native 64 bit applications that can take full advantage of the 64 bit architecture (and memory space).

Adobe and 64 bit

Adobe has been, to date (and for many years) opposed to creating 64 bit editions of their applications. I don’t know why. But, they still have not released Flash or Shockwave for 64 bit edition browsers for either Linux or Windows. I’m unsure why Adobe has decided these are not important. But, these types of arbitrary decisions prevent widespread 64 bit adoption. Either that, or 64 bit users will simply do without Adobe products (more likely the case). Since other open source alternatives to Adobe’s products are available, these products may out mode Adobe’s product in a 64 bit world.

So, how do I get 8GB in my computer?

You have several options:

  • Run Linux 32 bit with PAE (lets your system address 64GB)
  • Install Windows 2003 Server (expensive)
  • Install Windows 64 bit edition: Vista or Windows 7 (less expensive)
  • Install Linux 64 bit version (free or thereabouts)
  • Wait for Windows 32 bit (lesser versions) to finally support PAE (perhaps Windows 7)
  • For Mac OS X users, upgrade to Mac OS X 64 bit

64 bit (or larger) is the future of computing and it’s high time that companies and users start to realize this.

6 Responses

Subscribe to comments with RSS.

  1. Lesh said, on February 12, 2009 at 8:33 pm

    I forgot to ask you, if its possible to download and sorta like update the Explorer thing, cause it may be corrupted or something. And if its possible if you could link me the webpage plz.

    Will appreciate any help you can give me,

    Regards,

    Lesh

  2. Lesh said, on February 12, 2009 at 8:27 pm

    Hi again, thank you very much for answering.

    I havent changed a single thing to the computer. It could be a RAM slot that has a problem, but I dont really think thats it, just my opinion. Here is a weird thing that happened yesterday night, the issue got fixed in a misterious way, really, I dont know how, but it hasnt crashed again. I was so scared of turning it off and getting another crash when I’d turn it on again, that I just lef it asleep the whole night. When I woke up today I woke it up and there was no crash or anything and it was working perfectly. I’m gonna try this evening shutting it down and turning it on tomorrow to see if the problem is gone for sure or if it persists.

    Give me your thoughts on this and let me know what you think plz,

    Regards,

    Lesh.

  3. Lesh said, on February 11, 2009 at 8:21 pm

    Hi. I’m having a problem with my new HP Pavilion Desktop.

    I bought it brand new. Everything came in a box. Specifications are:
    – Windows Vista 64
    – Intel Quad Core 2.4
    – 6 GB Ram at 800 Mhz
    – 2 x 500 GB Hard Drives
    – Ati HD 3650 512 Mbs
    – 24 inch screen, HD.
    – Etc (and some other stuff)

    So, I turn it on for the first time and windows starts normally. Like 30 secs after it started the screen frozes and you can see the desktop clearly but if you try to click something, it just doesnt do a thing and the loading icon (sorta blueish, greenish circle) appears and leaves the computer like thinking, but with no response. If I press ALT+CTRL+DEL the screen changes to the Users Screens, where if I select the “Switch User” option and select the same User I was on, it takes me back to the desktop, the computer thinks for like 10 secs and then the problem is solved for like 20 secs, after that the error comes again and it freezes and does the same thing.
    Its a really odd error cause if I open Internet Explorer the computer works fine in Internet Explorer, I mean, I can visit webpages without a problem. Lets put it clearly, if I’m in one of the moments that it doesnt have the issue, I open Internet Explorer and its fine, but suddenly the desktop crashes but I can still use the Internet Explorer window that was opened without a problem. Also if I play a game like World of Warcraft, it runs perfect, but suddenly the same way as with the Internet Explorer, the Desktop crashes and I cant do anything on the Desktop, but the game keeps running perfectly.

    I really could use some help plz, I’m desperate, I tried downloading the new 9.1 Drivers, Catalysts, etc and its still the same.

    Will be waiting for an answer,

    Regards,

    Lesh.

    • commorancy said, on February 12, 2009 at 1:42 am

      This sounds like an Explorer crashing problem. Explorer is the interface that handles icon management, file management, desktop management and whatnot. It is separate from processes like Internet Explorer or World of Warcraft. So, explorer.exe can crash but still leave other applications running. The question, then, is why is explorer.exe crashing? I’d have to ask some questions to get a better idea of what might be going.

      The main question, though, is did you do anything to the system since you’ve purchased it? Like, for example, did you add more RAM to the system, have you tweaked any of the motherboard settings to try to increase performance? If you’ve added more or different RAM to the system, this could be part of the problem. Even still, the RAM that shipped with your system could have a problem.

      As a security measure, Vista introduced loading applications and the operating system into random locations in memory. Unlike XP that would load the operating system into a static predetermined location, Vista chooses to scatter the usage around the RAM (basically, all over the place). This does two things: 1) It will find bad memory much more easily and readily and 2) it’s used as a security measure so that hackers can’t always look in static memory locations for specific things… like passwords.

      On the upside, the security is enhanced. On the downside, if your RAM is bad, Vista will find it. As an initial guess, I’d say that you may have a bad memory stick in among that 6GB of memory. Explorer may be finding some bad memory each time the operating system loads. Note, this is just a guess and it may not be bad ram at all. It’s possible that parts of explorer have been corrupted (for some reason). Corruption can come from many different reasons, but usually stems from bad memory (during the install) to a bad hard drive in the system. Even though your system is new, that doesn’t rule out faulty hardware.

      Since your new system is very likely still under warranty, I would suggest that you contact HP and see if they offer any diagnostics for you to test the motherboard. For the hard drive, you can go to Seagate or Western Digital’s web site and download their hard drive diagnostic tool which will run extended tests to see if the drive is bad. You may be able to find the hard drive model from your itemized HP order form or from the OS through Device Manager but it doesn’t always like to tell you this information. So it can be easiest to open the machine to determine which hard drive model they’ve installed by looking. If you’re going to run Memtest (see below), you’ll already have it open anyway. You will want to back up your critical data before you perform a hard drive test as it could cause damage. As far as RAM goes, I would suggest getting Memtest86 and run this tool on each stick of memory separately. Note, it takes about 7 test passes (each pass consists of several hundred tests) in memtest before it gives the final result. For a 2GB stick, that can take upwards to 4 hours (perhaps longer). Expect to spend a day or better checking the memory with Memtest.

      If you find bad memory, then you should contact HP to have it replaced. If you can locate which stick is bad (by doing it one at a time), remove the stick and see if that resolves the crashing explorer issue. If Memtest tests your system clean, then I would say the Vista installation may be corrupted. In this event, you should probably try to do a restore or reinstall and see if that clears up the explorer issue. You don’t want to try to restore your system if you do have bad RAM is it could corrupt the installation again. So, it’s definitely worth running Memtest86 before you try to repair your OS.

      Hopefully, one of these resolutions helps. Feel free to ask questions.

  4. commorancy said, on January 30, 2009 at 5:59 pm

    Actually, the drivers are still a problem with 64 bit Vista. For 2D Windows applications, you may not run into any issues. However, if you get into any gaming or 3D application situations that require OpenGL previews, you will very likely experience issues. These problems stem from a combination of driver compatibility problems and Microsoft’s Vista driver subsystem. Both Nvidia and ATI have major problems with their OpenGL DLLs included with their cards when combined with Vista 64. These are KNOWN issues that have been present since the introduction of Vista (read, unfixed for months). These are known issues that many developers are quite well aware of.

    Worse, Vista still has the ‘Video Driver has stopped responding, but has now recovered’ message regularly when dealing with 3D applications and games. Not all systems experience this issue and not all video cards experience this issue. It seems to be a combination of certain hardwares combined with certain video cards. Some people claim their 64 bit installation does not exhibit this issue. But, there seem to be a LOT of people (including myself) who do experience this issue regularly.

    So, there are definitely still major driver issues present with 64 bit Vista (and even Vista 32) drivers (and specifically video and audio drivers). Perhaps Windows 7 will fix these issues, but it’s still too early to know.

    Note, these are issues that should have long disappeared. For them to come back with a vengeance in Vista 64 (and even Vista 32) seems to be a huge step backward for Windows.

    Thanks.

  5. Norcross said, on January 30, 2009 at 5:43 pm

    Although the 64 bit version of XP was a bastard child of Microsoft that’ll never really be supported, I’ve been running Vista x64 (and the Win7 x64 beta) with no driver issues. I purchased an HP desktop for my wife, and it came with Vista Home Premium x64 right out of the box, and to date everything I’ve plugged in has worked without an issue. I think the main problem comes in when you’re looking at legacy hardware, or if the ‘preferred partner’ of a OEM manufacturer doesn’t make the hardware drivers available.


All comments are encouraged under the following rules: Comments will not be posted that contain personal attacks. Personal attacks only serve to degrade your comment, make you seem like a troll, weaken your stance and undermine your points. Please choose your words carefully. Thank you for contributing!

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: