In a world of virtualization, should Windows host Linux or should Linux host Windows?

This is actually a question that I was giving a lot of thought to while recovering from back surgery? Why?
Written by David Berlind, Inactive

This is actually a question that I was giving a lot of thought to while recovering from back surgery? Why? As you may know, I'm an insanely huge proponent of using virtual machine technology like VMWare's VMWare Workstation 5.5 on desktop and notebook computers.  I've covered the reasons why, ad nauseum On the upside, VMWare makes a Linux version of its Workstation virtualization software. here, here, and here so I won't beat that horse anymore.  But, using VMWare Workstation while I was out, a dialog popped up more than once that I was running out of virtual memory.  I had three virtual machines running simultaneously, each with several applications open at the same time doing a variety of things (email, web browsing, word processing, spreadsheets, etc.).  Admittedly, I was deep in power user territory but it still caused me to stop and consider the configuration that sat in front of me.  I essentially had four copies of Windows running on one system.  One was the operating system that was running on the bare metal and the other three were the VMWare virtual machines being hosted by the first.   That first version of Windows -- the one running on the bare metal -- had me wondering whether or not I was needlessly consuming system resources with a full blown copy of Windows that didn't need consuming.  Even though none of my applications were running on that first copy (all my apps run in the VMs), that doesn't mean its not stealing valuable resources from the VMs it was hosting.   Windows, after all, isn't exactly a lightweight OS.  Not only that, just for safe measure, it's also running a few additional items such as McAfee's AntiVirus and Personal Firewall software -- eating even more resources.

One of the great advantages of Linux is how, when you're setting up a system, you can strip all of the bloat except for only those components that you need to support whatever you plan to run on the box.  This versatility -- something that's not really available with Windows -- has allowed server administrators to build some pretty lean and mean servers that reserve as many resources as possible for the application rather than for the operating system.  Ideally then, when staring at the configuration in front of me, maybe the best configuration is one where, instead of running Windows on the bare metal, I'm running Linux on the bare metal and furthermore, a trimmed down version of Linux that's designed to support little more than the running of VMWare's virtual machine and any other key accouterments (network drivers, graphics, etc.).   One advantage of Linux is that it's practically never the target of malware.  So, not only would a lean mean version of Linux conserve system resources just by virtue of being Linux, I would probably end up doing without having an anti-virus solution.  Linux comes with a built-in firewall and I could choose to activate it, or not.   Chances are though, with Linux on the bare metal on a machine that's already behind a router/firewall, additional, resource hogging, security software would not be necessary.  That's not to say that I won't be running A/V and Firewall software on the Windows-based VMs.  There, you need the security.

On the upside, VMWare makes a Linux version of its Workstation virtualization software.   On the downside though, VMware workstation largely depends on the host operating system to deal with things like graphics, USB, and things like Bluetooth (driver level stuff).  So, whereas Windows is nicely supported on just about any system (desktop or notebook), you may not necessarily get the driver level support you need if you rip Windows off the bare metal and replace it with Linux.   In other words, research your notebooks and desktops before picking a system.  

Why bring this up now? Well, I thought it was interesting that Microsoft announced today that it's going to support Linux as one of the operating systems that people will be able to run on Virtual Server 2005 R2.   Perhaps its a matter of taste since running virtual machines (Windows or Linux) on a Linux host requires a fair amount of Linux expertise that most Windows Server administrators don't have.  But I can't help but wonder if servers are better off being configured the other way around where Linux is the bare metal host OS that can be tweaked to resource perfection and Windows or Linux runs in the virtual  machines that run on top of that host OS.  If you have experience in these matters or findings to share -- either on the desktop or server side -- I'd love to hear from you. 

Editorial standards