- By William Stanek
Understanding 32-bit and 64-bit computing options
Since it was introduced for Windows operating systems, 64-bit computing has changed substantially. Not only do computers running 64-bit versions of Windows perform better and run faster than their 32-bit counterparts, they are also more scalable because they can process more data per clock cycle, address more memory, and perform numeric calculations faster.
Windows 8.1 PCs and tablets support x64 architecture. This architecture is based on 64-bit extensions to the x86 instruction set, which is implemented in AMD Opteron (AMD64) processors, Intel Xeon processors with 64-bit extension technology, and other processors. This architecture offers native 32-bit processing and 64-bit extension processing, allowing simultaneous 32-bit and 64-bit computing.
In general, 64-bit computing is designed for performing operations that are memory intensive and that require extensive numeric calculations. With 64-bit processing, applications can load large data sets entirely into physical memory (that is, RAM), which reduces the need to page to disk and increases performance substantially.
Currently, the prevalent firmware interfaces are:
- Basic input/output system (BIOS).
- Extensible Firmware Interface (EFI).
- Unified Extensible Firmware Interface (UEFI).
Computers based on x86 use BIOS and the master boot record (MBR) disk type for boot and system volumes. Computers based on x64 use UEFI wrapped around BIOS or EFI. UEFI and EFI support the GUID partition table (GPT) disk type for boot and system volumes. This means that there can be differences in the way you manage computers with these architectures, particularly when it comes to setup and disk configuration. However, with the increasing acceptance and use of UEFI and the ability of Windows 8.1 to use both MBR and GPT disks regardless of firmware type, the underlying chip architecture won’t necessarily determine what firmware type and disk type a computer uses. This decision is in the hands of the hardware manufacturer.
In most cases, 64-bit hardware is compatible with 32-bit applications; however, 32-bit applications perform better on 32-bit hardware. Windows 64-bit editions support both 64-bit and 32-bit applications by using the Windows on Windows 64 (WOW64) x86 emulation layer. The WOW64 subsystem isolates 32-bit applications from 64-bit applications. This prevents file system and registry problems. The operating system provides interoperability across the 32-bit/64-bit boundary for the Component Object Model (COM) and for basic operations such as cutting, copying, and pasting using the Clipboard. However, 32-bit processes cannot load 64-bit dynamic-link libraries (DLLs), and 64-bit processes cannot load 32-bit DLLs.
In the shift to 64-bit computing, you might want to track which computers in the enterprise support 64-bit operating systems, which computers are already running 64-bit operating systems, or both.
With Windows PowerShell, you can:
Determine whether a computer has a 64-bit operating system installed by using the OSArchitecture property of the Win32_OperatingSystem object. An example is
get-wmiobject -class win32_operatingsystem | fl osarchitecture
And the resulting output is
osarchitecture : 32-bit
Determine whether a computer supports a 64-bit operating system by using the Name and Description properties of the Win32_Processor object:
get-wmiobject -class win32_processor | fl name, description name : Intel(R) Core(TM)2 Quad CPU @ 2.66GHz description : x64 Family 6 Model 15 Stepping 7
Here, the first sample output tells you the computer is running a 32-bit version of Windows. The second sample output tells you the computer has an x64 processor. As a result, you know the computer can be upgraded to a 64-bit version of Windows 8.1. Rather than check each computer individually, you could create a script to do the work for you.
Although Windows 8.1 continues to support 16-bit applications, it’s important to point out that Windows 8.1 might restrict access to the 16-bit MS-DOS subsystem (ntvdm.exe). If so, the MS-DOS subsystem is prevented from running, and this in turn prevents 16-bit applications from running.
In Group Policy for Active Directory Domain Services or local policy for the computer, the Prevent Access To 16-bit Applications setting under Computer Configuration\Windows Components\Application Compatibility controls whether 16-bit applications can run. As with previous versions of Windows, when this setting is enabled, Windows 8.1 blocks access to 16-bit applications and prevents them from running.
In an important change, if the setting is not configured in policy, Windows 8.1 runs the 16-bit application control panel, which might require elevated administrator privileges to run the 16-bit application. Therefore, if you want to allow 16-bit applications to run without requiring elevated administrator privileges, you must set Prevent Access To 16-bit Applications to Disabled.