To the chagrin of purists, the complaint most often aired by Unix users (by that I mean Unix, Linux, and BSD) is Unix’s inability to run Windows applications.
There are several approaches to counter this shortcoming. Software from CodeWeaversprovides a Windows-emulation layer that runs selected Windows applications. A line of virtualized PC products from VMware (now part of EMC) runs all Windows applications on Linux, but VMware is designed and priced as a server solution. Finally, the open source Cygwin projectcreates a Linux-emulation layer that integrates with Windows.
But unfortunately, despite all of these choices, the majority of desktop users and developers who need Unix and Windows dual-boot, maintaining separate Unix and Windows partitions and rebooting to switch between them. That is so painful and problematic in so many ways.
Microsoft’s pervasive “all Windows, only Windows” culture made it the least likely place to look for a solution to the cross-platform dilemma. This despite Microsoft being in the best position to tie Unix and Windows together. Microsoft has been obsessed with pushing Unix out of the market, so customers who need to run both operating systems got sales pressure instead of solutions.
On Jan. 15, Microsoft shipped release 3.5 of SFU (Services for Unix). SFU is not a stand-alone or hosted Unix OS. It is a convincingly Unix-like interactive environment and development tool set that’s transparently integrated into Windows. SFU is a free download. Go get it. You’ll need to register for a free Passport account if you don’t have one, but don’t let that stop you. The new release boosts the performance of bundled tools and compiled apps enormously. The single-rooted emulated file system eliminates the need to specify DOS drive letters. The free download includes the latest versions of the GNU development tools along with support for clustering, Windows 2003 shadow copy, and Unix threads. I’m not reviewing it — I’ll do that very soon — but I do like it.
Microsoft plays Virtual PC 2004 as a tool for running several versions of Windows simultaneously on one machine. Bah. Microsoft’s customers will use the product for its designed purpose: Running one or more independent Unix sessions as hosted operating systems under Windows. You don’t have to reboot, Unix can crash without taking Windows down, and each session runs real Unix (or Windows, if you choose). The virtualized file system allows you to wipe out changes made during a session, so you can experiment without rendering the OS unbootable. And every Virtual PC-hosted OS automatically inherits (through virtualization) all of the devices and networking you’ve set up for Windows. Once again, it gives me exactly what I need. In heterogeneous shops and homes, SFU and Virtual PC 2004 should be installed on every machine.
These two products represent the most important technology to come out of Microsoft in almost a year. They show an easing of Microsoft’s internal barriers to achieving genuine Unix interoperability, and will form the foundation for those who want the freedom to run Windows and Unix at the same time. These products may have existed for a long time, but now Microsoft is working to keep them current and make them more visible.
Microsoft, welcome to the club.