Although there are benefits to using a 64-bit operating system, it might not be feasible or optimal to make the transition to a 64-bit system if much of the current software available is intended for use on 32-bit systems. A move to a 64-bit architecture means running a different Windows kernel and thus any driver installed must be compatible with the 64-bit architecture. The majority of NI software and drivers are 64-bit compatible. However, it is important to understand the difference between compatibility with a 64-bit operating system and native 64-bit support that can take full advantage of the architecture and available memory.
In order to clarify the difference, NI drivers can be broken down into two different components: User-Mode and Kernel-Mode. The architecture of the Kernel-Mode component of the driver matches the architecture of the operating system. The architecture of the User-Mode component of the driver does not have to match the operating system. Therefore, any software running in User-Mode can be developed as 32-bit or 64-bit. The Kernel-Mode component of most NI drivers is capable of running on either a 64-bit or 32-bit operating system. However, only certain NI drivers have a 64-bit User-Mode component to the driver. Therefore, even though a driver can operate on a 64-bit version of Windows, the driver might not fully take advantage of the 64-bit architecture.
When a driver uses a different User-Mode architecture than Kernel-Mode architecture, a software layer converts the 32-bit architecture to 64-bit. This conversion requires processing time and resources. 64-bit Windows provides this software layer in a subsystem called Windows-on-Windows (WOW64) included in the operating system. This subsystem allows 32-bit applications to run on the 64-bit environment at the expense of performance.