• FAQ on 32 bit & 64 bit Applications

    Posted on September 26, 2012 by in Application Packaging, Desktop Engineering

    There are many Companies that are migrating from Windows XP to Windows 7. The most critical point that desktop engineers has to consider is which Windows 7 platform to migrate to? Windows 7 32 bit or Windows 7 64 bit.

    Before making a decision on which platform one has to answer many questions. Will this 32-bit software run on 64-bit operating system? Will this 64-bit software run on 32-bit operating system? Below i have illustrated most frequently asked questions about installing 32-bit and 64-bit applicaitons on Windows 32/64 bit OS.

    Advantages for 64- Bit:
    As the number of bits increases there are two important benefits.

    1. More bits means that data can be processed in larger chunks which also means more accurately.
    2. More bits means our system can point to or address a larger number of locations in physical memory.

     32-bit systems were once desired because they could address (point to) 4 Gigabytes (GB) of memory in one go. Some modern applications require more than 4 GB of memory to complete their tasks so 64-bit systems are now becoming more attractive because they can potentially address up to 4 billion times that many locations.Since 1995, when Windows 95 was introduced with support for 32-bit applications, most of the software and operating system code has been 32-bit compatible.Here is the problem, while most of the software available today is 32-bit, the processors we buy are almost all 64-bit.

    Architecture:
    The architecture contains three components.

    1. Hardware (Processor, cpu)
    2. Operating System
    3. Applications

    To run a 64-bit operating system you need support from the lower level: the 64-bit CPU.
    To run a 64-bit application you need support from all lower levels: the 64-bit OS and the 64-bit CPU.
    This simplification will be enough for us to look what happens when we mix the 32-bit and 64-bit parts. But if you want to understand the issue more deeply then you will also need to consider the hardware that supports the CPU and the device drivers that allow the OS and the applications to interface with the system hardware.

     

    What 32-bit and 64-bit combinations are compatible and will work together?This is where we get to the practicalities and can start answering common questions.

    The general rule is that 32-bit will run on a lower level 64-bit component but 64-bit does not run on a lower level 32-bit component:

    A 32-bit OS will run on a 32-bit or 64-bit processor without any problem.
    A 32-bit application will run on a 32-bit or 64-bit OS without any problem.
    But a 64-bit application will only run on a 64-bit OS and a 64-bit OS will only run on a 64-bit processor.

    These two tables illustrate the same rule:

    The main reason that 32-bit will always run on 64-bit is that the 64-bit components have been designed to work that way. So the newer 64-bit systems are backward-compatible with the 32-bit systems (which is the main reason most of us haven’t moved to 64-bit software).

    An example of backward compatibility is Windows 64-bit. It has software called WOW64 that provides compatibility by emulating a 32-bit system. See the article How Windows 7 / Vista 64 Support 32-bit Applications if you want to know more. One important point that is made in that article is that it is not possible to install a 32-bit device driver on a 64-bit operating system. This is because device drivers run in parallel to the operating system. The emulation is done at the operating system level so it is available to the higher layer, the application, but it is not available to the device driver which runs on the same level.

    1. Will a 64-bit CPU run a 32-bit program on a 64-bit version of an OS?
      Yes it will. 64-bit systems are backward-compatible with their 32-bit counterparts.
    2. Will a 64-bit OS run a 32-bit application on a 64-bit processor?
      Yes it will. Again, this is because of backward compatibility.
    3. Can 64-bit applications contain 32-bit code?
      Yes, many times 64-bit software will contain portions of 32-bit code. Similarly 32-bit software (usually very old programs) can have some code in 16-bit which is why those 32-bit applications will usually fail to run properly on a 64-bit OS.
    4. Can 16-bit applications or code run on 64-bit systems?
      No, as we said previously. 16-bit code will NOT run on 64-bit OS because the designers did not provide backward-compatibility. This is one reason why some 32-bit programs will not work on 64-bit operating systems
    5. Can I run Windows 2000 and Windows XP on a 64-bit CPU, and use old software?
      Yes, a 32-bit OS (Windows 2000 or XP) will run on a 64-bit processor.You should also be able to run older 32-bit software on a 64-bit OS.
    Be Sociable, Share!

    Written by

    View all articles by

    Email : [email protected]

    Leave a Reply