advantage of 64bit os when using 32bit applications

I have 2 questions about running 32bit applications on a 64bit OS.
To be specific, I'm using XP X64 and NOT Windows 7 (W7 x64 wouldn't install right on my system and cant seem to solve the issue).

My questions are:

1. I've learnt that 32 bit applications running on x64 are still limited to either 2 or 4GB of Ram allocation. The question is if this limitation applies to each application or to all application running on the OS?
To clarify: When running a 32bit XP with 4GB Ram and running multiple applications (say 10 different applications such as excel, photoshop, illustrator, database, cad and so on at the same time) my 32Bit system would become unbearably slow. It would sometimes appear to crash and I had to wait minutes before continuing my work. (4GB shared to 10 aps)
If I upgrade to a new system with 64bit XP with 24GB Ram, will I benefit from the upgrade? Will I be able to run all the same 32bit aps (given compatibility) without having to wait for the delay?
My thinking is that if the limitation is 2GB/32bit application, means running 10 aps will use up 20GB with a left over of 4GB for the OS and so will increase the speed of the system?

Of course there will be CPU difference and so on, but for argument sake, lets focus on the benefit of the additional ram alone.

2. I've learned that some devices might not have the proper 64bit driver. The question is: if I install a virtual system on the 64bit os, like VirtualBox, and install a 32bit windows XP as a guest OS, will I be able to run these devices?

Thank You

Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

JohnBusiness Consultant (Owner)Commented:
I have a Windows 7 Pro 64-bit Thinkpad. I saw some difference by moving from 3 Gb to 4 Gb. Now that I am at 4 Gb, I do not see any limitations. I always have free memory available even when running another machine (virtual machine using VMware). My guess is that spending the money on 8 Gb won't buy me that much, but when the price comes down, I will probably do it. I cannot imagine a need for 24 Gb on a workstation.

I also think that Windows 7 improved memory management beyond both Vista and XP, so sticking with XP 64-bit may limit you. You might wish to determine why you can load Windows 7. It may be the computer you have is too old a design.

With respect to drivers, that is a sticky point for 64-bit. All my network drivers, hardware drivers, hard drive protection, mouse driver, network tools (VPN, CommView) and other structural type software are all 64-bit and are different versions that their 32-bit counterpart. Once that is done, 32-bit applications like Office and Adobe work fine on a 64-bit machine.  It is far to say that I had to upgrade most of my software to move from XP 32-bit to Windows 7 64-bit

Driver type software such as VPN does not always work in a 32-bit virtual machine. I have have VMware Workstation 7 and virtual machines, but I do not depend upon these as all my required software has now been upgraded to work in both Windows 7 and 64-bit.

... Thinkpads_User
JohnBusiness Consultant (Owner)Commented:
Oh, and by the way, I should have noted that my 64-bit Thinkpad T61p with 7200-rpm hard drive runs rings around my old XP 32-bit desktop and XP 32-bit Thinkpad T41 .... Thinkpads_User
In 32 bit Windows each process is given a 2GB private virtual address space. It also has a 2GB address space that is used while in kernel mode and is shared by all processes. This is virtual address space, NOT RAM. All of this is totally independent of how much RAM you have. Since each process has a private 2GB address space, potential RAM usage could be many GB. Of course 32 bit client systems are limited to only 4GB, not all of which will be usable.

When a 32 bit application runs on a 64 bit system non of the above changes, unless the application specifically indicates that it is compatible with a large address space. In that case the private address space becomes 4GB. Most 32 bit applications are not compatible and receive the standard 2GB.  Multiple 32 bit applications can potentially use many GB of RAM.

Applications running under a virtual environment such as VirtualBox have no idea what devices the host computer has. They see only the virtual devices provided for them. These devices were chosen for compatibility with a wide variety of operating systems.
Cloud Class® Course: Microsoft Azure 2017

Azure has a changed a lot since it was originally introduce by adding new services and features. Do you know everything you need to about Azure? This course will teach you about the Azure App Service, monitoring and application insights, DevOps, and Team Services.

Gary CaseRetiredCommented:
Yes, if you increase the memory you'll get notably better performance when running multiple applications.

To answer your specific questions:

(1)  "... 32 bit applications running on x64 are still limited to either 2 or 4GB of Ram allocation ...   question is if this limitation applies to each application or to all application running on the OS? "   ==>  Actually they're limited to a 2GB virtual user  address space or, they are large address space aware and you set the /3GB parameter they will get a 3GB address space (NOT 4GB).      Both of these are virtualized address spaces -- i.e. it doesn't matter whether or not you actually have enough "real" memory, as Windows will simply page the memory blocks as needed to allow the application to run.   THAT is the reason you've seen your system "... appear to crash and I had to wait minutes before continuing my work ..."   ==>  you had enough active applications that you were encountering a high percentage of "page faults" -- an attempt to access memory that wasn't currently allocated, requiring the system to swap out a memory block to assign to satisfy the memory request.     Note that every time this happens your effective access time for that memory request is over 10,000 times the normal memory access time !!     If it happens infrequently, you likely won't notice it; but if you're getting frequent page faults a system can indeed slow to a crawl.

Adding a lot of memory will drastically reduce -- or eliminate -- page faults;  since the system will have enough "real" memory to satisfy all of your application's memory requests.

(2)    "... some devices might not have the proper 64bit driver.  ... if I install a virtual system on the 64bit os, like VirtualBox, and install a 32bit windows XP as a guest OS, will I be able to run these devices? "   ==>   It depends.    If they are external devices, such as a printer; scanner; etc. and are connected in a way that your hypervisor supports (e.g. USB or ethernet), then Yes, your idea works fine ... not only for 32 vs 64 bit drivers; but also for devices that aren't supported by the host OS.      A common example in the past year has been multifunction printers, which Windows 7 often didn't have drivers for except the basic print function.    You could, for example, install the full featured driver in a VM -- and then use that VM when you needed to scan or fax.     If, however, you need a driver for an onboard device that can't be "seen" through the hypervisor, then the answer is No.

Note, however, that to build a system with truly prodigious amounts of RAM you should use a server motherboard that supports buffered RAM.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
SW111Author Commented:
Thanks for all the detailed answer guys (and girls).

Thinkpad: I am in fact using a brand new Intel workstation board with xeon cpu that is supposedly supported by windows 7. (In fact, I already bought win7 x64 for this system). The problem just wouldnt go away because every fresh install will immediately slow into a crawl once I log in. Even trying a browser CD to open becomes impossible. Using the deployment CD from Intel presents its own quirks. I actually have opened a question on EE for about 1 month now and no one seems to have been able to answer it. Which is why I'm going with XP x64.

Garycase actually provides the most direct answer. To which I have 2 questions:
1. Just to make sure: by buffered ram, you mean ECC Ram? Yes, I am using an ECC Ram with a server board that is 2 xeon capable. So this mean I can go ahead and load as many Ram as the spec says and expect improvement, correct?

2. I guess your answer is: depends on the hypervisor. My next question is: (sorry for my ignorance) what is a hypervisor? is VirtualBox a hypervisor?

LMiller7: I think you're saying the same thing as Garycase? I didnt understand your answer at first but after reading Garycase's I suspect you're along the same line of answer.

Thank You again for your help.
Gary CaseRetiredCommented:
Buffered isn't the same as ECC -- you can get unbuffered ECC modules (IF the chipset supports ECC).    But with a dual Xeon server board you almost certainly have buffered modules ... either "registered" or "fully buffered" (FBDIMM) modules.
(What's the model # of your Intel board?  -- I can then confirm the memory specs)

Yes, VirtualBox is a hypervisor (technically it's a "hosted hypervisor" -- a hypervisor that runs under the control of a host OS).
SW111Author Commented:
Thanks Garycase. The Intel board code is: S5520SC.

I have to lookup what memory modules are already loaded on the system though (currently 4GB).
Gary CaseRetiredCommented:
The S5520SC can use either unbufferred or registered modules -- but NOT both at the same time.

So ... if you currently have unbuffered modules, and want to upgrade to a large amount of memory (12-24GB), you'll need to replace those and buy all new registered modules. From my quick review of the specs, I believe you'll have to use dual-ranked modules if you want to go to 24GB, but can use quad-ranked modules if 12-16GB is enough (there's a limit on the total number of ranks the board supports).

Here's a 12GB kit:

... a 16GB kit:

... and a 24GB kit:

SW111Author Commented:
The memory that's already installed is actually a FBDIMM: Corsair CM72DD2G1066
Do you think its okay if I just fill it up with the same types? (Its cheaper too :) )
Gary CaseRetiredCommented:
According to the specifications, a Corsair CM72DD2G1066 is an unbuffered, ECC module => NOT a FBDIMM.    This makes sense, as the Intel motherboard does not use FBDIMMs -- it will accept either unbuffered modules (with or without ECC) or registered modules.     Pages 22-24 of the product specification detail the memory configurations you can use:

Basically, you can use up to 6 modules per CPU, for a total of 12 modules;  but if you're using unbuffered DIMMs it's not a good idea to use more than 3 modules per CPU.     There are a variety of other configurations you can set (memory mirroring, etc.), but for your purposes I suspect you don't need to implement these.

If you have two Xeons installed on the board, you may (to keep the cost down) want to simply install 6 unbuffered ECC modules (3 for each CPU) ... but I would not go beyond that unless you switch to registered (buffered) modules.

Gary CaseRetiredCommented:
Note:    You may want to watch item 10 in this presentation to understand why you should use buffered modules when you install a lot of memory:
SW111Author Commented:
Hmmm..... my computer shop guy is fighting me tooth and nail that CM72DD2G1066 is a registered ECC. Googling around doesnt help much.

But anyhow, I think we'll manage from here.
Thanks so much for your help. Your understanding and product knowledge helped me better than googling.
Gary CaseRetiredCommented:
Here's Corsair's datasheet for that module:
... if it was a registered or FBDIMM module I would expect that it would (a) say so on the datasheet; and (b) would have a buffer chip on the block diagram of the module.

Here are a couple of sources that clearly say "unregistered"  (note that "registered" and "buffered" are often used interchangeably, although they don't actually mean the same thing):

Notwithstanding that, the above could be (a) misleading (the data sheet) and (b) wrong (both the and specs)  ==> if so your computer shop could be right that it's a registered module ... and if so, it should work fine.    You originally said "FBDIMM" -- which it clearly is NOT ... and which wouldn't work with your motherboard.

But I don't think that's the case.     I can't find the detailed specs directly on Corsair's site, but is very accurate -- and Newegg also sells this module [ ], with no indication of it being registered.   In fact, if you limit the memory choice on Newegg to server memory - Corsair - and select "Any" for the Buffered/Registered drop down (meaning it doesn't matter), it will show the module in the list;  but if you select either registered or FBDIMM this module will not be listed ==> yet another indication it is NOT a registered module.
SW111Author Commented:
Hmm.... I wonder where I saw that FBDIMM.... it normally quite unlikely that I would just label something like that.

This is the problem though:

Mind you though this doesnt mean they're right. This is the google search result of  "CM72DD2G1066 registered". Of course, googling "CM72DD2G1066 unregistered" would give a whole list of contradictory information. ***sigh***

I think I'll go to the computer shop and check out where I got that FBDIMM from.
Gary CaseRetiredCommented:
Download the free CPU-Z [ttp:// ]

Run it and look on the SPD tab => it will show if the modules are registered or not :-)
SW111Author Commented:
Ah, you're right. The computer guy finally accepts that its not a registered memory. I think I will get a CM72DD2048R-667 instead. (Although slower?)

The packs that you showed me previously is way too expensive and I reckon more memory is better than speedier ones.
Gary CaseRetiredCommented:
I agree "... more memory is better than speedier ones ..." in most cases.

HOWEVER <Sigh>  (your computer guy needs to pay more attention to detail)  ...  The CM72DD2048R-667 is indeed a registered module ... but it's a DDR2 module  ==>  your motherboard requires DDR3 modules !!!

You need DDR3 registered modules :-)
SW111Author Commented:
SIgh too.... my computer is still at the computer guy's shop. Evidently there's no Registered ECC ddr3 ram in stock anywhere. But he gets the point. So again, Thank You for your help.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Windows OS

From novice to tech pro — start learning today.