Everyone, even Microsoft, is openly talking about Windows 7. I think that there will be a 32-bit edition of Windows 7, but I also think it may be the last such version of Windows, And I wouldn’t be surprised if Microsoft takes steps in it to encourage adoption of 64-bit Windows, moving us further on the path to a Windows 8, which may be entirely 64-bit.
There’s a rule about Windows that most people never seem to appreciate fully: Every new version of Windows is designed for the next generation of hardware. When users upgrade XP to Vista on circa-2004 hardware and declare it sucky, they miss the point. This same effect is true of other operating systems to varying degrees; certainly it’s true of MacOS, where they get to coordinate even more tightly. It’s less true, I suppose, with Unix and variants because there’s less of a partnership with hardware vendors.
A related important point about the cross-generational period is that upgrades just don’t work as well as most preloaded installations. OEMs, at least in theory, can put a lot of work into getting their preloaded Windows and drivers to work optimally, while a user upgrading a previous version is likely to encounter tasks, identifying not only what should be running on the system but what should not, which they will have difficulty performing optimally.
The transition period, in which the mainstream shifts from 32-bit to 64-bit, is fraught with peril for Microsoft and users. There are many ways it can go badly. Microsoft has already tipped one of them in this blog by Windows exec Chris Flores. Essentially, it’s the same hardware transition problem I just mentioned: Users trying to do an upgrade themselves may lack the technical experience and the detailed information about the hardware. He strongly recommends buying a preloaded system. OEMs aren’t perfect at this; consider this blog in which Microsoft Distinguished Engineer Michael Fortin gives one example of suboptimal configuration by an OEM, although the data is limited to system boot time performance.
64-bit Windows may seem like a far-out techie luxury to most of us, but Microsoft already has quite a lot of experience with it: There have already been two 64-bit versions of Windows desktop and server. Remember, most of the core of the OS and much of the higher-level bits are common to both, and 64-bit Windows Server is a heavily used operating system. In fact, Microsoft has already announced that Windows Server 2008 will be the last Windows Server version with a 32-bit edition. When the mainstream desktop moves to 64 bits, it will, in many ways, be Version 3 or 4 of Windows 64.
Nothing ever seems to substitute for a mass public test, but it’s not like they will be rookies at it. And according to the same Flores blog, the number and percentage of 64-bit Vista systems are jumping substantially worldwide, and even more domestically.
ZDNet’s Ed Bott extrapolates from Flores’ numbers that “… at least 20% of all Vista PCs sold in the second quarter of this year came with 64-bit editions of Windows Vista pre-installed. By fall, it’s possible, even likely, that we’ll reach a tipping point, with more than 50% of new PCs sold at retail coming with 64-bit editions of Windows Vista pre-installed.”
Why Move to 64 Bits? Memory
The main reason it will be worth moving everyone to 64 bits eventually is memory: 32-bit Windows editions top out at about 3GB of system memory. Even if it’s theoretically possible for them to address the full 4GB, or even some more than that, as a practical matter it causes compatibility conflicts with certain device drivers, and the decision was made to limit desktop Windows and the cheaper editions of Windows Server. I won’t go into the pluses and minuses of this decision, significant though they may be. The fact is that, to get more than about 3.1GB to 3.5GB of usable RAM in a Windows desktop edition, you need to use the 64-bit version.
Already we’re at the point with Vista where 2GB to 2.5GB is considered the sweet spot, and there’s no reason to build a system with less; memory is that cheap (2GB of Crucial PC5400 667MHz DDR2 at TigerDirect today: $39.99 after rebate). No system I build or recommend from now on will have less than 2GB.
It’s also likely that 64-bit versions will be demonstrably faster, even for common desktop scenarios before too long, both for the access to larger blocks of memory and for the optimizations that will come from the larger registers and larger numbers of registers.
I asked Microsoft for comment on this column and got some boilerplate from them:
“The 64-bit editions of Windows Vista-on PCs with at least 4GB of memory-can be more responsive when running many programs simultaneously, are highly compatible with the hardware devices and software programs you use today, and are ready for the next generation of 64-bit-optimized programs, which promise dramatic performance and experience improvements.More Responsive When Multitasking-With 64-bit editions of Windows Vista and at least 4GB of memory, your PC can provide a smoother, more responsive experience when running many programs simultaneously.Highly Compatible with Devices and Programs-You will find that most of the hardware devices and software programs you use today will work properly with 64-bit editions of Windows Vista.Ready for 64-Bit-Optimized Programs-With 64-bit editions of Windows Vista and at least 4GB of memory, you’re ready for the next generation of 64-bit-optimized programs that will use large amounts of memory to deliver dramatic performance gains and innovative new experiences.“
Microsoft has taken the opportunity with the 64-bit editions to introduce new security-related features and to make mandatory some security features that were optional in 32-bit Windows:
- DEP is turned on for all 64-bit processes on 64-bit Windows and cannot be turned off.
- 64-bit Vista introduced Kernel Patch Protection (PatchGuard), which stops even kernel-mode programs from using unsupported mechanisms to modify key kernel data structures. This feature caused a big stir among security software vendors who use such undocumented features to implement host intrusion prevention.
- Kernel mode programs in 64-bit Windows Vista (and, I assume, Windows Server 2008 and all future Windows versions) must be digitally signed with a key based on a code signing certificate issued by a trusted certificate authority.
At least two of these security features are controversial, although I think all are good ideas.
All this means is that desktop Windows will be in flux for a while. The unkind word would be “unstable,” but it doesn’t have to be an unpleasant outlook. Sometimes periods of rapid change can be exciting. We very well may end up, when the world has moved to 64-bit Windows, with a better, faster, safer environment, purged of some of the worst mistakes of the past. That’s the happy version.
In the unhappy version, users are angry as underpowered systems with inadequate memory for a real 64-bit OS run badly because hardware vendors don’t take 64-bit device driver development seriously, while 64-bit application development still lags and there still isn’t a Flash player that will work on 64-bit Windows. Oh, and researchers discover new and innovative attacks on 64-bit modes that had been previously unexplored.
That’s progress for you.
Security Center Editor Larry Seltzer has worked in and written about the computer industry since 1983.
For insights on security coverage around the Web, take a look at eWEEK.com Security Center Editor Larry Seltzer’s blog Cheap Hack.