32 bit vs. 64 bit: The Differences Between the Two Architectures

65

Among the most frequently asked questions is the following: What are the differences between the 32-bit and 64-bit versions of the Windows operating systems? We try to provide an answer as timely as possible without slipping into too many technicalities.

Let’s start by clarifying that our observations, despite being focused on the most recent Microsoft operating systems – Windows 7 – still have general validity. Each version of Windows 7, except for the Starter, is available in 32 and 64-bit versions.

The terms 32-bit and 64-bit indicate the differences in handling information by the processor installed on the personal computer. Generally, with the adjectives 32 and 64 bit, we refer to the “width” of the standard format of a simple variable within a certain hardware architecture. And this usually also reflects the size of the microprocessor (CPU) internal registers. The size of the data bus (the electrical connections used to transport information; usable by all system components for both reading and writing) and the address bus(bus through which the CPU determines in which address to read or write data: both the RAM memory cells and the peripherals are divided into zones, each of which has a specific address) can be different however when an architecture it is defined as 64 bits, it certainly has the CPU registers 64 bits wide and manages data of this size both internally and externally.

64-bit versions of Windows can use larger amounts of memory than 32-bit versions of the operating system. In particular, at least theoretically, Windows x64 would manage systems with 2 ^ 64 bytes of RAM memory (equal to about 16 exabytes). This is about 4 billion times higher than the 4 GB RAM limit up to which 32-bit versions of the operating system can be pushed.

In practice, the 64-bit versions of Windows 7 can support a different amount of RAM:

Windows 7 Home Basic: 8 GB
Windows 7 Home Premium: 16 GB
Windows 7 Professional: 192 GB
Windows 7 Enterprise / Ultimate: 192 GB

To overcome, on 32-bit systems, the limitation of 4 GB, the versions of Windows intended for large companies have long supported the PAE ( Physical Address Extension ) technology, a feature integrated for years in Intel and AMD CPUs. The hardware architecture of these x86 processors consists of additional lines in the address bus to select additional memory. In this way, the size of the physical address is increased from 32 to 36 bits.

A discussion of RAM’s amount supported by all versions of Windows (from Windows 2000 to Windows 7) is published in this official Microsoft document.
If a large amount of RAM memory was one of the main factors that influenced a machine’s choice, the choice of a 64-bit version of Windows 7 is practically mandatory. Except for the slightly larger amount of RAM and disk space that Windows 7 x64 requires compared to the 32-bit version, the differences in terms of the features offered are nil. However, some aspects regarding Windows x64 are worth mentioning:

64-bit versions of Windows require 64-bit device drivers. This means 32-bit drivers will not work.

Windows x64 only accepts digitally signed “kernel mode” drivers. All drivers designed for 64-bit versions of Windows 7 and Windows Server 2008 R2 must be provided with a digital signature ( Software Publishing Certificate ) issued by a recognized certification authority. The “kernel mode” driver must therefore already be signed, or you must have access to a Software Publishing Certificate that can be used to independently sign the driver. If a 64-bit “kernel mode” driver is signed incorrectly, the driver itself will not be loaded, or in any case, it will not run (if the driver is required for starting the personal computer, this could do not boot).

WOW64 ( Windows On Windows 64bit ) is the subsystem capable of making 32-bit applications run smoothly on 64-bit versions of Microsoft’s operating system. WOW64 can guarantee excellent results, except for those that try to integrate with the Windows shell (security software, utilities, …).

with more memory, 32-bit applications are faster. Beyond 4GB, a Windows x64 system can facilitate faster execution of even 32-bit applications. More physical memory available means a greater amount of data that can be simultaneously stored in RAM. The consequences are obvious: reducing the time spent loading data and switching between processes.

“PatchGuard” or “Kernel Patch Protection”. The 64-bit versions of Windows are equipped with a feature (“PatchGuard” or “Kernel Patch Protection”, in fact) that offers a good defense against ” kernel patching ” or ” kernel hooking “: this practice consists of employing mechanisms ” unofficial “and unsupported to apply changes to the operating system kernel altering its operation. The “kernel patching” is used both for benign purposes and to launch attacks of various kinds (we talked about it in these articles). For example, some antimalware vendors have used the “kernel patching” approach to intercept system calls and prevent malicious operation by suspicious software components. On the other hand, Malware authors use the same technique to hide the presence of rootkits and perform malicious operations.

“Kernel Patch Protection”, as soon as it detects an unauthorized modification of certain data structures or certain portions of code, starts the immediate shutdown of the system.

16-bit applications no longer run on Windows x64. 64-bit versions of Windows no longer support running the now obsolete 16-bit applications.

The main reason for choosing a 64-bit version of Windows essentially depends on the amount of RAM the machine has or is intended to be installed by the above clarifications. If you use 3 GB of RAM, Windows 7 64-bit is practically identical to that of Windows 7 32-bit.

Before opting for Windows x64, it is good to check that you can work productively even with the restrictions listed above.

Check the version of Windows installed and which 32-bit applications are running.

Check which version of Windows is installed on your system is a trivial operation: just click on Start, access the Control Panel, and then click on the iconSystem. To quickly access the window from Windows 7, simply click on the Start button and then type system info in the Search programs and files box. In correspondence with System, Type system, it is reported whether it is a 32 or 64-bit version of Windows.

Suppose a 64-bit version of Windows is installed on your system. In that case, it is not possible to know, at a glance, whether the application you are running is 32 or 64-bit: the two types of software are automatically made operate correctly.

To check which and how many applications are running in 32-bit mode, you can access the Windows Task Manager (orWindows Task Manager, in Italian) by pressing the key combination CTRL + SHIFT + ESC then clicking on the Processes tab. Currently started 32-bit processes are indicated with the string ” * 32 “.

To determine, however, if the computer in use is capable of running a 64-bit version of Windows, it is necessary – from Windows 7 – to type System performance, and press Enter in the Start button box (or click on the System performance icon contained in the Control Panel).
32 bit vs. 64 bit: The Differences Between the Two Architectures

By clicking on the link View and print detailed performance and system information, next to the entry with support for 64-bit processing, it is indicated (yes/no) if the personal computer can run x64 versions of Windows.

32 bit vs. 64 bit: The Differences Between the Two Architectures.

However, it should be remembered that it is impossible to perform a sort of “upgrade” from a 32-bit version of Windows to a 64-bit one.

In the article 32-bit or 64-bit program? Here’s how to find out. We explained how to understand if a program is 32 or 64 bit.