32 bit vs 64 bit Operating Systems

What is the difference between a 32 bit and a 64 bit Operating System.

Why installation programs are designed specifically for a 32 bit or a 64 bit Operating System.

And why in a 32 bit environment a 64 bit .exe is not recognised
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.

Jim Dettman (Microsoft MVP/ EE MVE)President / OwnerCommented:
<<What is the difference between a 32 bit and a 64 bit Operating System.>>

The number of bits that the OS can work with as a unit.   64 bit allows for larger numbers to be worked with, so it can use more memory, work with larger numbers in doing math, etc.   That also ties into the hardware and the registers in the CPU, which is where data is stored when the CPU works on it.

<<Why installation programs are designed specifically for a 32 bit or a 64 bit Operating System.>>

  Not sure how much of a technical answer you want, so I will give you a simple one; it all boils down to how large of a register (number of bits) you expect to work with at one time.

<<And why in a 32 bit environment a 64 bit .exe is not recognised>>

 Because you cannot put 64 bits into only 32 bits.   In a 32 bit OS, it can only work with 32 bits at a time.   If you hand it 64 bits at once, it cannot handle that.

 Those are overly simple answers, but are fundamentally correct.  Let us know if you want more.


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
gram77Author Commented:
The above answer is very informative.

So, how do we benefit from a 64 bit environment, that a 32 bit cannot provide.
Mohammed KhawajaManager - Infrastructure:  Information TechnologyCommented:
It is not just registry but also remember that 64-bit OS can address more than 4 GB of memory.  Also remember that 64-bit applications are required to be able to use more than the addressable 4 GB of memory on a 64-bit OS.  Also note that there will be no 16-bit level compatibility in 64-bit OS.
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

The number of bits in a processor refers to the size of the data types that it handles and the size of its registry. A 64-bit processor is capable of storing 264 computational values, including memory addresses, which means it’s able to access over four billion times as much physical memory than a 32-bit processor!

As a general rule, if you have under 4 GB of RAM in your computer, you don’t need a 64-bit CPU, but if you have 4 GB or more, you do. While many users may find that a 32-bit processor provides them with enough performance and memory access, applications that tend to use large amounts of memory may show vast improvements with the upgraded processor. Image and video editing software, 3D rendering utilities, and video games will make better use of a 64-bit architecture and operating system, especially if the machine has 8 or even 16 GB of RAM that can be divided among the applications that need it.

The terms 32-bit and 64-bit refer to the way a computer's processor (also called a CPU), handles information. The 64-bit version of Windows handles large amounts of random access memory (RAM) more effectively than a 32-bit system.

Most programs designed for the 32-bit version of Windows will work on the 64-bit version of Windows. Notable exceptions are many antivirus programs.

Device drivers designed for the 32-bit version of Windows don't work on computers running a 64-bit version of Windows. If you're trying to install a printer or other device that only has 32-bit drivers available, it won't work correctly on a 64-bit version of Windows.

Hope this helps
As mentioned above, 64 bit OS's can directly access more than 4GB of RAM. 32 bit OS's were only able to do that with a special "PAE" extension, and on M$ OS's that is only available on Server OS's, not on the desktop versions (Linux is different here, PAE is a standard on 32 bit OS's there with Desktop and Server versions, so with it you can also access RAM above 4GB). But PAE is still less good than when you use a 64 bit OS, as it doesn't give you the same type of access to the RAM.

No 32 bit OS supports 64 bit programs, as those have been specially written for 64 bit OS's. But, as long as you are using a 64 bit OS that runs on a CPU which is compatible to the AMD x64 standard (like Intel x64 bit and AMD x64 bit CPU's), it is downward compatible and will run most 32 bit Programs. If you are using an intel itanium CPU for example, then it will only run with 64 bit OS's which were specifically written for it, and as far as I know you can't run any 32 bit software on that platform.
Jim Dettman (Microsoft MVP/ EE MVE)President / OwnerCommented:
<<So, how do we benefit from a 64 bit environment, that a 32 bit cannot provide. >>

 It means you can do more at one time.

  With binary, each bit can be either 0 or 1.   So to get bigger numbers you use more bits.  Here is an example of counting in binary with three bits:

Binary     Decimal
000          0
001          1
010          2
011          3
100          4
101          5
110          6
111          7

 So if I was using these bits to represent locations in memory, with these three bits I can point to 8 different locations.

Now let's add another bit:

Binary     Decimal
0000          0
0001          1
0010          2
0011          3
0100          4
0101          5
0110          6
0111          7
1000          8
1001          9
1010          10
1011          11
1100          12
1101          13
1110          14
1111          15

  so now with four bits, I can have 16 possible different values.   How large of a number I can deal with is:

  2^<number of bits>


   2^1 means two values

   2^2 (2 x 2 ) = 4

   2^3 (2 x 2 x 2) = 8
   2^4   (2 x 2 x 2 x  2) = 16

  2^32  = 4,294,967,296

  and  2^64 = 18,446,744,073,709,551,616

  So with 64 bits vs 32,  I can address a lot of memory or work on very large numbers at one time.

2^64 = 18,446,744,073,709,551,616

That's an important number for 64-bit OSes. It can represent various limits, and it can especially indicate how many memory locations can be addressed. Instead of having an absolute limit on memory addresses of (only) 4GB as with a 32-bit OS, a 64-bit OS can directly address 4,000,000,000GB.

On the systems that I work with, that means that every individual object in the system (including disk-resident objects) can have its own unique memory address. A hardware abstraction layer to define a 'virtual machine' with a memory translation module plus some reasonably standard virtual memory management then allows for some very useful effects.

For example, since every program has an associated unique 'memory' address, calling a program becomes nothing more than a basic branch instruction in the virtual machine's machine language. I.e., the executable portion of every program is effectively always "in memory". Virtual memory management simply pages disk sectors in (and out when necessary) as needed (after 'memory' address translation to HDD addresses). Files and other objects have similar access methods available.

There are many more implications of what can be done with 64-bit processing that is much harder (practically impossible) to do with 32 bits. A wider address bus and wider registers allow for machine instructions that can be simpler while doing more. But note that those instructions probably cannot function in that form when put into a 32-bit system. A 32-bit CPU simply won't know how to execute those instructions.
also -64 bit OS can use larger disk sizes - over 2 TB see :  https://support.microsoft.com/en-us/kb/2581408
also -64 bit OS can use larger disk sizes - over 2 TB

That also isn't accurate. Current 32 bit OS's can access disks larger than 2TB, the disk only needs to be a GPT disk.

Windows though has a limit for the disk it boots from. A 32 bit Windows OS can't boot from a GPT disk, It has to boot from an MBR disk (and the BIOS must run in conventional BIOS mode, not UEFI mode). But you can add a 2nd disk which can be GPT, and the 32 bit Windows OS can access the disk fully. This restriction is only with Windows. Other 32 bit OS's like Linux, can also boot from GPT disks, and the BIOS doesn't have to be UEFI.
gram77Author Commented:
Thanks everyone. Very clear explanations.
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
Operating Systems

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.