May 30, 2009 (03:05 AM EDT)
Windows 7 Vs. Linux: OS Face-Off
Read the Original Article at InformationWeek
In the three years since Vista hit the market (and left more than a few people with bad tastes in their mouths), Microsoft developers have been pulling all-nighters and all-weekenders to make sure Windows 7 outperforms on all fronts when it is released late this year.
At the same time, the various Linux distributions have been rigorously pulling their own acts together, and have released major flagship versions of their respective operating systems.
With each successive release on both sides, people have asked: Which is better? It's tempting to say "Linux" (but, which one?) or "Windows" (same problem!) and be done with it. It's better to ask: What are they both capable of now, and how do those things compare against each other? Here, then, is a 30,000-foot view of the territories that Windows 7 and the top Linux distributions have staked out, and what they mean to each other.
One thing I should nail down before going any further is what's meant by "versus" in this context. This won't be one of those boxing-metaphor articles where one OS has to land the killer punch to "win" -- it's a way of looking at how they each stack up in their respective categories, and with some cross-comparison where it's relevant.
Even if Linux or Windows excels in a given category, don't take that as a sign to drop everything and switch. Your real-world usage should determine what OS to use, not abstractions.
Where The Operating Systems Stand Today
As of this writing, Windows 7 is far closer to completion than most people were expecting to give Microsoft credit for. The original public beta was strikingly polished; at least one reviewer was of the opinion that 7 could be released as-is and it would still outdo Vista across the board. Obviously that wasn't going to happen, but both the public beta and public release candidate edition of 7 have been downloaded hundreds of thousands of times -- a good indicator of future success.
Linux, on the other hand, could be evaluated by multiple milestones. There's the kernel itself, the heart of each Linux distribution; there's the state of each distribution -- Debian, Ubuntu, Red Hat / Fedora, SUSE, etc.; and there's the incremental evolution of all the associated projects used by each distribution -- KDE, GNOME, GTK, Wine, and so on. Since the distribution itself is the most basic "unit of consumption" for Linux, it makes sense to talk about the state of the distributions first.
Ubuntu 9.04 (itself derived from the ur-distro Debian) was recently released to remarkable acclaim; one pundit going so far as to call it a Mac-challenger, somewhat ironic given that the Mac is itself UNIX-based.
Red Hat has established itself as the server distribution, although its community-oriented distribution, Fedora, doesn't quite have the same mindshare among desktop users as Ubuntu.
SUSE, Novell's distribution, has made a name for itself thanks to tight integration with heterogeneous networks (or, as some people put it, bowing to Microsoft, but that apparently hasn't hurt sales).
Taking Measure Of Their Merits
It's a little tougher to draw direct comparisons between Windows as a whole and Linux as a whole. What Windows 7 represents vis--vis its Linux competition is three-fold:
Linux has its own raft of native merits:
Here's the short version: if you buy a new PC right now, even a modestly equipped one, you can run Windows (XP, Vista, or 7) with little difficulty, along with your pick of Linux distribution. The long version is a little more complicated.
When XP came out in late 2001, there was more than a little grousing about 128MB being the minimum memory needed to install the OS. Microsoft hedged its bets and predicted that by the time XP really took off, the baseline level for hardware would have more than risen to meet its needs. The company was for the most part, correct, but it made the mistake of assuming it could do the same thing with Vista without backlash.
By the time Vista came out, the average PC was outfitted with 512MB or even 1GB of RAM, and by now 3GB, 4GB, and higher are routine -- but Microsoft's insistence on needing 512MB to even install Vista caused a great hue and cry. Such anger put pressure on Redmond to deliver a successor that runs leaner.
Has it delivered? In short, yes.
It's not just that the average PC sold today has more than enough memory or horsepower, but Microsoft did hard work to make 7 more efficient and responsive. Many of these changes may not be obvious to the casual user at first -- they're "under the hood,"not flashy user-experience items -- but they do add up.
My Lenovo S10 Ideapad netbook, an Intel Atom-powered machine with 1GB RAM, is nobody's idea of a speed demon. But Windows 7 installed on it without a hitch, kept at least 500MB RAM free with no other processes running, and made good use of the screen despite the cramped display size.
With Linux, each distribution has widely varying hardware requirements, which is exactly the idea. No two distributions are meant to be alike; they all serve different needs and user requirements. That said, the top few (Ubuntu, Fedora/Red Hat, openSUSE, Debian) usually do the trick, either by themselves or through one of their derivate editions (e.g., Xubuntu for Ubuntu on systems with minimal hardware).
In every case, you can always determine if your hardware is supported in Linux by simply burning and booting the live-media .ISO for a distribution: If it works, you'll know almost immediately.
Hardware And 64-bit Driver Issues
The rule of thumb for hardware running Windows 7 is this: if it worked with Windows before, it should work now. There is, however, one caveat: 32-vs.-64-bit.
The computing world's been tilting towards 64-bitness for some time now. Servers, full-blown desktops, and high-end notebooks are going 64-bit, while netbooks and more modest machines will stick with being 32-bit. That said, there's not a lot of immediate pressure to move to 64-bit if you're not already there, and neither the newest versions of Windows, nor Linux will change that.
A major reason for this is that most hardware manufacturers are only now habitually supporting 64-bit Windows for newer devices. It's the folks who have older or more slightly off-the-beaten-path peripherals -- host-based printers, scanners, or multifunction devices; Web cameras; wireless devices; and pro-audio sound cards -- who will run into trouble.
But because the nature of hardware support is so different in Windows and Linux, the amount of hardware supported on each might be a factor if you're planning on running 64-bit.
In Windows, device drivers are generally closed-source, proprietary items; they're provided by the hardware manufacturer or by Microsoft directly. In Linux, though, the majority of hardware drivers are open-source; only a small handful of devices run on proprietary drivers.
The latter means it's far easier for 64-bit drivers to be compiled, and to that end the 64-bit versions of most any distribution have the same full complement of drivers as their 32-bit counterparts. The end result: Windows may have support for just about every hardware device out there, but only if 64-bit support's not part of the equation.
In Windows, the 64-bit barrier shows up in some other minor, but annoying ways. Both 32- and 64-bit IE is included with the x64 editions of Windows, but if you plan on using the 64-bit version of Flash, keep waiting. Flash only works in the 32-bit incarnations of IE, Firefox and so on.
Official support for 64-bit browsers is planned later this year. On the Linux side, unofficial, but solid support for 64-bit Flash playback is out there right now -- although the level of implementation may vary widely depending on the distribution. Ubuntu, for instance, seems to have the most reliable handling of such things; with other distros it's more of a piecemeal crapshoot.
If you're committed to moving to 64-bit Windows but have no drivers for some crucial hardware, there are a few workarounds. One is a variation on a plan that Microsoft is hatching for Windows 7's official release: use a virtual machine, running 32-bit Windows, to enable hardware for which only 32-bit drivers exist. This can be done in Windows right now -- in fact, I did it using VirtualBox and a spare copy of 32-bit XP to get my scanner and printer working, neither of which were supported in any 64-bit edition of Windows.
It may also be possible to pull off the same trick by running Linux in the virtual machine. VirtualBox is particularly useful for this since it allows you to directly connect USB hardware to the virtual machine, even if said hardware has no driver on the host side. But if you have no overriding reason to move to a 64-bit edition of either Windows or Linux, odds are you can stay 32-bit with the next iterations of both without losing out on anything.
As someone else once put it: "It's the software, stupid." No operating system is going to be worth the trouble if it doesn't support programs you use. Windows 7 has a distinct advantage in that it supports all of the software that ran in Vista and XP, with only the most minimal of exceptions.
If you endured hassle getting programs to work in Windows Vista, most of that was probably due to the way Vista insisted on only running programs in non-administrative user mode. In the three years since, just about every program released for Windows or updated since is now "Vista-aware", and behaves appropriately. Windows 7 doesn't change this situation, so any existing Windows programs that worked under Vista should work in 7, too.
The few programs that don't work as-is typically break because their installer expects to find a different edition of Windows than is being advertised (one of the reasons Windows 7 advertises itself as "Windows 6.1" to prospective programs). This can be worked around through the compatibility-mode functions, something that's existed since the XP days.
Linux's application roster is an entirely different case. By and large, the applications used on Linux aren't sold in stores -- they're typically repackaged and provided by the same folks who created whatever distribution you're using.
That said, the majority of applications delivered for Linux also have Windows builds. Cases in point: the Firefox web browser, the Pidgin instant-messaging application, or the OpenOffice suite. If you've been using any of these on Windows, you'll find they're much easier to use their Linux counterparts.
Now for a tougher question: What about using Windows-only applications on Linux? It's possible, and there is more than one approach to accomplishing that. First and most direct is Wine, an emulation layer that can be added to Linux which lets you run Windows programs directly in Linux.
Wine insures that Windows programs think they're on a native Windows box; it provides emulation for the Registry, the Windows disk structures, and the vast majority of Windows APIs. And Wine is robust enough at this point to allow even complex applications such as games to be run well.
That said, any application that can be replaced with a Linux counterpart should be -- but sometimes that simply isn't possible. It's the selection of apps that often form the biggest barrier to making the jump to Linux. Another issue may be the fact that while it's possible to install 7 on top of Vista and preserve one's applications and settings, it isn't yet possible to do this in Linux.
It is possible to automatically migrate documents and some fairly generic system settings -- Ubuntu does this, for instance -- but not the apps themselves. (For those planning on performing an entirely clean installation of either OS, though, it's a moot point.)
There's little reason to doubt that Win7, both 32- and 64-bit, will be showing up on plenty PCs near you later this year. Given how quickly both businesses and Microsoft want to move on from Vista, 7 is at the very least set to replace earlier versions of Windows with little trouble.
And Linux? The ever-mythical "year of the Linux desktop" always seems to be just around the corner, so wholesale displacement of Windows probably isn't happening.
But each successive wave of distributions is makes it easier and less disruptive to switch to Linux, or start there from scratch, if you have little existing investment in Windows.