Reputation: 7622
So apparently, you can install both 32bit and 64bit compiled applications on a 64bit Windows system (Vista or 7).
What's the reason why both versions are able to run on the 64bit OS? Is it good practice to install 64bit apps on 64bit OS? Any advantages/disadvantages to combining 32bit apps with a 64bit OS?
Thanks!
Upvotes: 20
Views: 33898
Reputation: 137188
Depending on the actual implementation a 32 bit application will require some special handling to run on a 64 bit operating system, whereas a 64 bit application will run "natively" on a 64 bit operating system so should run "better" (for various values of "better" - access to more memory for example). This "special handling" might just be running a subset of the instruction set, but it will need marshalling etc.
So it make sense to install the 64 bit version of a program where one is available.
However, it makes commercial sense to allow 32 bit programs to run as there are far more 32 bit applications out there than 64 bit ones. Over time the applications that are still being sold will be upgraded and there may come a time when a future version of Windows doesn't support 32 bit programs (in the same way that 16 bit ones have gone by the board).
Upvotes: 3
Reputation: 346536
What's the reason why both versions are able to run on the 64bit OS?
If the OS couldn't run any old (32bit) apps, nobody would want to use it. So they had to find a way.
Is it good practice to install 64bit apps on 64bit OS?
Generally yes, they can use more memory and may run somewhat faster. However, it's not possible for a 64bit app to call a 32bit DLL, so you can run into problems.
Any advantages/disadvantages to combining 32bit apps with a 64bit OS?
Not really, except of course that they won't be able to use more than 4GB RAM, and may run a bit slower than they would on a 32bit OS on the same hardware.
Upvotes: 27
Reputation: 47213
Modern processors using an arhitecture such as x64 can execute both 32bit and 64bit applications.
32bit operating systems can allocate only 4GB of memory (2^32 = 4294967296), whereas 64bit ones can allocate a lot more (2^64 = 18446744073709551616).
It is a good practise to install 64bit apps on a 64bit OS, because they will be able to use all of your computer's memory, if you have more than 4GB.
Upvotes: 3
Reputation: 245499
The 64-bit versions of Windows come with a Windows on Windows 64 (WOW64) Subsystem that allow it to run the 32bit applications. The whole process is actually quite complex and you can read about it at:
How Windows 7 / Vista 64 Support 32 Bit Applications
If you have a 64-bit OS and the application vendor provides a 64bit version, install it. If not, installing the 32-bit version won't hurt.
There is a distinct advantage to being able to combine 32-bit and 64-bit applications on the same machine in the fact that not all vendors provide 64-bit versions of their applications. An OS that allows you to run both will give you access to the broader set of software available to consumers.
Upvotes: 9
Reputation: 186118
Not every program is available in a 64-bit version.
Yes, you generally should use 64-bit apps, where possible.
Combining 32-bit and 64-bit apps is a pain, and never a good idea. It is usually only done by necessity (going back to my first point).
Upvotes: 4