Ok, by now most people have good stories to tell or have at least heard that Windows 7 is a good thing. Right? Well I though I'd add my own anecdotal experience to the mix.
In my role I have the opportunity to talk to many organisations in varying stages of Windows Vista or Windows 7 adoption or planning. From the outset Windows 7 just felt better and much of the early testing is bearing out expectations for these organisations and in truth its been a bit surprising how strong early adoption has been for Windows 7.
For myself, I have some challenges in the way I use Windows. As evangelist for App-DNA™ I need to regularly demo and discuss our solution so a stable and responsive OS to support our own product is important. I'm also often testing and demoing early versions of our own software and the combination of OS betas and pre-release software can be challenging at times. Anyone who demos as part of their day jobs knows what I'm talking about.
In the latter part of 2009 when I got my hands on the 64bit RTM bits for Windows 7 combined with a shiny new laptop with a solid state drive (SSD) and things took a turn for the better. I expected some improved performance but the level of improvement was quite surprising. Even more surprising was the lack of issues for running the 64bit version of Windows 7 knowing how problematic driver availability generally is around the release of a new OS.
For those of you not yet familiar with 64bit Windows, here are a few interesting aspects.
- 16bit apps
16 bit code cannot run on 64 bit Windows. Generally, 16bit apps date back to pre-XP days. There are various reasons for incompatibility but one of the key ones is the passing of 'handles' - these are references which programs use for (amongst other things) the visual windows which you use to interact with the applications. Attempting to pass handles from a 64bit environment to 16bit apps causes loss of data and causes application failure. Some organisations maintain old apps over long periods of time and the presence of 16bit code can sometimes be a bit surprising but for most home users 16bit issue are less likely to be a primary consideration.
- 32bit apps
64bit Windows 7 runs 32bit code using the WOW64 (Windows-On-Windows) subsystem. This means that most of your current apps (almost certain to be 32bit) will just run on the 64bit platform. WOW64 translates 32bit calls via an intermediate layer to the 64bit kernel. In general users see nothing of this and apps continue to run as they did on 32bit systems. This is a very smart way of bridging these systems. The only real visible cues for users are in the %ProgramFiles% and %windir%\System32 locations. On 64 bit systems you will now have a "Program Files (x86)" and "%windir%\SysWOW64" folders for the 32bit apps. This change can have an impact for some poorly constructed apps which expect the previous path to exist but this should be a generally rare case.
- 32bit Registry
The registry also caters for a parallel system for 32bit apps, the: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node is a visible sign of Windows registry redirection to cater for 32bit applications. Windows redirects calls to HKEY_LOCAL_MACHINE\SOFTWARE to this sub-key so that the 32bit registry can be maintained in parallel with the 64bit. Additional keys under: HKEY_CURRENT_USER\SOFTWARE\Classes follow the same re-direction.
- Drivers
This is one of the areas where its not generally possible to provide a translation layer (like WOW64) as drivers communicate too directly with the kernel. The result is that 32bit drivers fail on a 64bit platform. I've been pleasantly surprised, however, by the availability of compatible 64bit drivers for all of my peripherals (including a home inkjet printer) and as time moves on hardware vendors will continue to extended availability of drivers.
The net result has been a very compatible OS at both the application and 64bit compatibility levels and performance from the SSD has meant the common stuff like boot-up, shutdown, access to mail and general Office related tasks has been blisteringly fast. Vista used to just feel sluggish with so many wait states as indeterminate background tasks seemed to get in the way - all of that is gone away and as a user I'm back to being master of my machine (as opposed to the other way round).
421d9ca7-2d1b-4021-90bf-44c96eae840a|0|.0