What do I need to know using 64 bit win 7?

I bet a lot of that 16-bit stuff will run in XP Mode but then again you can’t get that win Win7 Home. (I think it’s Professional or better. I know it’s a free download for Win7 Ultimate.)

Technically, if you have more than 46B of RAM, 32bit software will only be able to access it in 2GB chunks.

32bit Windows would allocate a very large number of 2GB chunks of virtual memory. Most versions of 32bit Windows would only recognise 4GB of physical memory. Out of that, most versions of 32bit Windows would only allocate 2 or 3 GB of physical memory to the application pool.

But there are plenty of 32bit applications that are able to use 32-64GB of memory, and when 64bit windows allocates those applications physical memory instead of paging virtual memory to disk, they run much faster.

I’m confused. Are you saying that:

  1. In Win32, even if you had 4 GB of memory, the system reserves some of it and only allows 2-3 GB for applications?

  2. (Unrelated to #1) In Win64, 32-bit applications can access all the available memory, but only in 2 GB chunks, and only if the page file is turned off, and only if they’re written to support it? If that’s correct, how often does that actually happen in real life?

Between 2.75 and 3.5 GB, actually. It depends upon what’s in your PC. See The 3 GB Barrier on Wiki.

No - 2 MB chunks, actually, up to 3 GB per process at any time.

No.

Sort of - it’s handled automatically for normal processes, but an application has to be explicitly written to handle > 2 GB, and again explicitly written to use PAE to access large amounts of data.

This is a technology called PAE and was mainly used on 32 bit server-side apps, but is automatically part of 64 bit Windows.

So how would it work that most 32 bit versions of windows only recognize 4 gb of memory, but plenty of 32 bit applications can use 32-64 gb?

Are you saying that under a 64 bit OS, 32 bit apps can access more than the 4 gb limit imposed by the 32 bit Windows OS?

Either way, 64 bit Windows allows the usage of a LOT more memory than the 32 bit versions.

I don’t think that’s true. A naive 32-bit program can never address more than 4 gigabytes of RAM. Windows, due to historical reasons, by default never allows a program to use more than 2 GB, but there’s a flag the program can set (“large address aware”) that allows a 32-bit program to use the full 4 GB.

EDIT: Oops, that last paragraph is wrong. Quartz’s cite above says Windows does have a way for 32-bit programs to request more than 4 GB of memory; but they have to be specially-written to handle it. You can’t just turn it on on any old program.

There is a CPU technology called PAE which allows OSes and applications on 32-bit processors to address up to 256 TB of memory, but Microsoft limits applications and drivers to 4 GB even with PAE turned on. (They found that the number of applications and drivers that crashed as a result of this option wasn’t worth the potential performance improvement.)

On a 64-bit OS, 32-bit programs have the same 4 GB limitation. This might be something solve-able by the OS, but Windows doesn’t bother. (The terrible secret of space here is that the vast majority of programs don’t benefit from having access to more than 4 GB of memory-- the real impetus to the 64-bit switch is address space starvation, not physical memory starvation. But that topic is very hard to explain to the public.)

Microsoft actually recommends the 32-bit version (over the 64-bit version) of office 2007 and 2010. They even made it so that you have to run a different setup program to install the 64-bit version.

Of course that’s kind of moot for you since I don’t think 2003 is available in 64-bit.

To ease your worries, I’ll point out that the 64-bit version of windows has separate program folders for 32 and 64-bit programs (“program files (x86)” and “program files”, respectively) , and stores the settings in separate registry keys (again, all 64-bit is in one section, all 32-bit in another).

I’m a professional PC tech and I’ve been using windows 7 64-bit for years now (since a few days after it was released) and running 32-bit and 64-bit programs and can’t remember any problems caused by the 32/64-bit mixup. The only “issue” I’ve had is when certain games don’t support 64-bit and will only use 2GB of ram. They run fine, just not as fast or as well as if they could use more than 2GB of ram.

Windows Virtual PC has a required 64 bit installer
XP Mode has only one installer. That’s interesting.

Should have it up and running soon. I really prefer dual booting XP and Win 7 because its the best of both worlds. My tower pc dual boots and I love it. But don’t want to format my new laptop drive just yet. (for dual boot, you install XP first, then Win 7) So, giving XP Mode a try for my older software.

You’re right both times. It’s AWE (Address Window Extensions), and it’s extremely, astoundingly, amazingly rare. It amounts to making the application manage memory itself, similar to the old “banks” in 6502 Apple land or early x86 chips: You map a range of your larger memory into a 32-bit space, and swap the map for new regions as necessary. You can never address more than a 32-bit space, but you can choose from as many of those as your physical memory will permit (AWE memory can’t be paged, so it’s limited to the physical space available.)

If there are more than ten programs on the market today that use this technology, I’ll be very surprised.