National Instruments Corp.
Edited by Leland Teschler
Over time, the release of Microsoft's Windows Vista operating system will impact us all. Whether it's part of an embedded module or a desktop-computing platform, Microsoft's operating systems will be a touch point, even for the most ardent Mac and Linux users.
Besides its 32-bit desktop version, Vista will also come in a 64-bit version that offers some benefits to machine designers today. However, the real advantages will only arrive when all hardware and software platforms that support Windows have had a chance to catch up.
We are at the cusp of shifting from 32 to 64-bit computing. As was the case in the shift from 16 to 32-bit platforms, we should expect a rocky road. For the foreseeable future, we will be forced to read the fine print spelling out compatibility information.
Nevertheless, Windows Vista has several benefits that apply to both the 32 and 64-bit versions:
Improved security — You will log onto Windows Vista in a nonadministrative roll regardless of the permissions you have on that computer. When you install software, the program will prompt you to enter your administrator password to prevent unwanted software from maliciously installing itself.
Better search — We all have too many files. To help with this conundrum, Microsoft has spruced up the search capabilities of Explorer so you can search for files based on descriptive attributes. This search function applies to several aspects of the Windows Vista user interface as well as to programs such as Word and Excel.
.NET-based API — Windows Vista promises easier and higherlevel functions with which software developers can interface the .NET framework. The newest release of .NET comes standard with the Windows Vista OS. Called .NET 3.0, it provides improvements such as better speech recognition and enhanced graphics with the Windows Presentation Foundation. (The WPF provides a consistent programming model for building applications and a separation between software's user interface and its business logic.)
New look and feel — Windows Vista has a different look. When you first bring it up, hit ALT-TAB. What once was just a box with application icons is now a stacked set of tilted screens through which you can rotate to switch between applications. Also, when you minimize a program, Windows Vista sends it to the taskbar in a new visually appealing way. We've become accustomed to the look and feel of Windows XP, and these little changes help reenergize and remind us how much fun it is to use computers.
The most notable benefit of the 64-bit version of Vista is more addressable RAM. Today's 32-bit systems cap addressable RAM at 4 Gbytes, while Windows XP further limits this to 2 Gbytes per application. The theoretical limit for 64-bit Windows Vista is 16 exabytes. For readers who are bit rusty with number prefixes, 264 equals about 1.845 1019 bytes.
It will be a long time before we see machines available with that much RAM; however, there are 64-bit computers today with 128 Gbytes of memory. This much-extended RAM is a huge benefit for software able to work with it. In general, the more a software application can rely on data in memory and not page to the hard drive, the faster the application can run.
Designers running CAD packages will find the impact of 64-bit computing is fantastic. For example, a 32-bit OS limits the size of CAD assemblies in SolidWorks to around 100,000 parts. The 64-bit version of Windows Vista eliminates these limitations to facilitate work with huge subassemblies.
(Users of CAD systems might note, however, the popular Tom's Hardware benchmarking site ran SPECviewperf 9.03 benchmarks on several CAD systems and found they slowed significantly under Vista compared to their performance under XP. The cause seems to arise from the widespread use by CAD systems of OpenGL graphics libraries, which Vista does not support.)
If you want to show off how much you know about 64-bit Windows Vista, try dropping the term "WoW64." WoW stands for Windows on Windows and is the software layer that lets 32-bit applications run on 64-bit Windows Vista. Or try interjecting this during a water-cooler discussion: "Yeah, but those applications are only ‘WOWing.' When are software vendors going to release true 64-bit versions of their applications?"
You have just demonstrated an understanding of the difficult transition software vendors face to truly support 64-bit Windows Vista.
The transition from 32 to 64 bits is littered with caveats, some more important than others. As a designer, how do you know which are key and which are merely details? Software developers probably already know about the issues involved in writing 64-bit-compatible software; however, those relying on commercial off-the-shelf (COTS) hardware and software should note a few facts.
Hardware compatibility is the big "gotcha." Anyone planning a system around 64-bit Windows Vista must first check that there are 64-bit Vista drivers for all the planned hardware. This is particularly important in such applications as data acquisition or industrial vision.
Some vendors have created Web pages to address such Vista support questions. For example, ni.com/vista outlines how National Instruments supports Windows Vista. LabView graphical programming software will support 64-bit Windows Vista, and NI will also offer 64-bit driver support for its hardware products.
Beware, though. Not all 32-bit applications will run seamlessly on 64-bit Windows Vista with WoW64. The software vendor should spell out the degree of compatibility. Application software compatibility is a different story; the WoW layer lets 32-bit applications work on Windows Vista 64-bit software without the extended memory benefits.
Even here there can be a few hiccups. For example, some 32-bit programs still use 16-bit installers, which no longer work on 64-bit Windows Vista. Hopefully, however, such issues should be few and far between.
Application software designed for 64-bit Windows Vista should work as advertised. But the devil is in the details of how well application software can use the extended memory benefits of 64-bit pointers. For example, some internal data structures could still be bound to 32-bit integers, which limits how these applications can take advantage of the 64-bit OS. Such details are important for developers but, for the most part, hidden from end users.
Computing speed is another issue. Sixty-four-bit computing just sounds faster then 32-bit computing. In some cases it is indeed faster, but probably not for the reasons you have in mind. Sixtyfour bit is faster in applications that benefit from keeping more data in main memory and relying less on hard-drive paging. CAD or CAE applications are good examples. Those that are designed to work with 64-bit memory addresses will be able to load more component models into main memory. This lets users work with larger subassemblies in a more timely fashion.
The processor architecture is another factor that contributes to 64-bit speed. But it has nothing to do with the OS. For example, the AMD64-processor architecture has done away with a feature called the front-side bus (FSB). The FSB serves as a connection point for other buses in the system that connect to the CPU, the memory bus, peripherals, and so forth. In recent years computer architects have begun replacing it with point-to-point buses to avoid the possibility of the FSB becoming a bottleneck. Another factor that speeds processing is the use by some 64-bit processors of more registers, thereby improving their overall ability to crunch numbers.
Over time there will be fewer caveats, pitfalls, and gotchas as 64-bit computing goes mainstream. Soon, each of us will have a computer with multiple gigabytes of RAM. However appealing that sounds now, I am sure we will find a way to use memory faster then we can buy it. Those developing machine vision or control tasks will benefit from the additional memory addressing that 64-bit Windows Vista offers. It is just a matter of time before such Vista machines are common on the desktop.
New Vista for LabView
National Instruments designs hardware and software platforms around a variety of commercially available parts and products, including, most recently, Windows Vista. The release of Windows Vista posed several challenges for NI on the installer, driver, and security fronts. For example, it was a substantial undertaking to make all device drivers compatible with both the 32 and 64-bit versions of Windows Vista. It not only made our testing matrix more complex, but also forced us to invest in a new tool chain to digitally sign our device drivers according to Microsoft's security policies.
One of the biggest challenges was to understand the Windows Vista security model, particularly user-access control (UAC). UAC changed behavior several times during the Windows Vista beta period, making us continually code to the changing standard. Like Windows XP, the new Windows Vista security model requires that anyone installing software have administrative rights; however there is an additional wrinkle. Any program that writes to the Program Files directory also needs administrative user rights. Many LabView users do not have administrative rights so developers had to devise a series of schemes that balance all possible end user scenarios against the Windows Vista security model.
How difficult was it to make LabView and its device drivers run on Windows Vista? On a scale of 1 to 10, a rating of seven reflects the combination of efforts that included changes to the LabView executable, burden of additional testing, changes to documentation, and the initial research required to make these changes.
National Instruments Corp., ni.com