Search My Blog

Sunday, November 1, 2009

32 bit and 64 bit explained

32 bit and 64 bit explained

New! Gizmo's Security Advice Wizard: Free security suggestions
customized to your needs. Get started
Last Update: Sat, 09/05/2009 - 07:28 — abhishek

Very often we find ourself thinking:

Will this 32 bit software run on my 64 bit operating system?


Will this 64 bit software run on my computer?

Here's a short tutorial which attempts to answer these questions and
helps us understand the concepts of 64 bit and 32 bit hardware,
operating system and applications.

32 bit systems have been part of the mainstream computing for more than
a decade since the time of the 80386. Therefore, most of the software
and operating system code written during this time has been 32 bit

32 bit systems can address up to 4 GB memory in one go. Some modern
applications require more memory than this to complete their tasks. This
and progress in chip fabrication technology led to the development of 64
bit processors for mainstream computing.

So here comes the problem, much of the software available today is still
32 bit, but the processors have migrated to 64 bit. The operating
systems are slowly catching up. Eventually even the applications will
catch up. But for now, we have to cope up with all combinations of 32
and 64 bits in hardware, operating system and applications.

You can consider these three factors to be three layers with the
processor as the lowest layer and the application as the highest layer
as shown below:
Processor, OS and application hierarchy

To run a 64 bit application, you need support from all lower levels (64
bit OS and 64 bit processor).

To run a 64 bit OS, you need support from its lower level (a 64 bit

A 32 bit OS will run on a 32 or 64 bit processor without any problems.

Similarly a 32 bit application will run on any combination of OS and
processor (except a combination of 32 bit processor and 64 bit OS which
is not possible). This is usually accomplished through emulation which
is an operating system feature, part of all major operating systems.

Device drivers run in parallel to the operating system. Emulation is
done at the operating system level, and is available to its higher
layer: the application. Therefore, it is not possible to install a 32
bit device driver on a 64 bit operating system.

Answers to common questions

Will a 64 bit CPU run a standard (32-bit) program on a 64-bit version of
an OS?
Yes it will. 64 bit systems are backward compatible with the 32 bit

Will a 64-bit OS run a standard application on a 64 bit processor?
Again, it will. This is because of backward compatibility.

Can I run W2K and WXP on an 64 bit CPU, and use old software?
Yes, a 32 bit OS (W2K and WXP) will run on a 64 bit processor. Also, you
should be able to run "old software" on a 64 bit OS.

However, before I close, let me also quote that many times, a 64 bit
software will contain bits of 32 bit code. Similarly 32 bit software
(usually very old ones) can have some code in 16 bit. Please be aware
that 16 bit code will NOT run on 64 bit OS. This is one reason behind
some 32 bit programs not working on 64 bit OSes.

Go there...


No comments: