For many years now, one of the most popular pieces of
proprietary
software under
GNU/
Linux has been
VMWare. Its powerful ability
to run other
operating systems unmodified
inside of a running
Linux kernel has generally been unmatched by
free software, leading
many to pay the (rather substantial) price to run VMWare for that pesky
Windows application that they, for one reason or another, cannot
abandon or replace. Over the years, there have been many valiant
efforts to replace this useful tool with truly
Free Software, but
only in the last year (and with some corporate help) has this goal been
reached.
For many years the most promising Free virtual machine
for x86 was Xen, a 'hypervisor' which runs on the bare hardware,
running a Linux instance in a special, privleged virtual machine to
manage the virtualization system. In addition to being a rather
heavyweight approach, it generally requires modifications to the
operating systems running in the virtual machines, making it useful
for servers (since the modified OS can 'cooperate' with the hypervisor
to make the virtual machine run smoothly), but generally unsuitable for
the desktop user faced with an annoying legacy program. Xen's
modifications to the Linux kernel have also had a long, hard road to
being merged into the standard kernel distribution, and the available
Free management tools remain somewhat primitive, as Xen's developers
earn money selling proprietary management tools for Xen.
However,
in the past year, two virtual machines have been released to the
community under the GNU GPL: KVM and VirtualBox. KVM was first,
in fall 2006, and depends on the hardware virtualization support added
to new x86 processors by Intel and AMD; this makes KVM very simple
and has sped its inclusion in the base Linux kernel. It is VirtualBox,
though, that is the true free VMWare replacement, as its user tools are
much better developed and simpler to use than KVM's.
VirtualBox
was released under the GPL in January 2007 by a German software company
called innotek. This source release included both the core virtual
machine and the corresponding user-space management tools, though a few
components were held back as a 'value-added' offering. Like VMWare
and unlike KVM, VirtualBox is a purely software-based virtualization
environment, using emulation and code modification to work around
operations in the virtualized OS that would otherwise reveal the
difference between running in the virtual machine and running directly
on the real machine.
VirtualBox, like VMWare, is nearly as fast
as the base processor it is virtualizing. When it is used to run
Windows or Linux, additional speed and versatility can be gained by
installing the 'Guest Additions' within the VM, which are drivers that
cooperate with VirtualBox to speed up I/O and allow for features such
as seamless mouse movement between the VirtualBox window and the rest
of the desktop. With these installed, the virtual machine will appear
on your desktop like any other window, allowing convenient access to a
different OS environment directly from the Linux desktop. VirtualBox
supports suspend and resume for virtual machines (termed 'Snapshots'),
making the virtual environment even more accessible.
VirtualBox
does have a few flaws when compared with its more mature competition,
some of which are purposeful deficiencies in the Open-Source Edition. Support for virtualized USB devices is
available, but reserved for the proprietary free-for-personal-use-only
version. Similarly, the proprietary version allows direct remote access
to the virtual machine's screen through Microsoft's ubiquitous
Remote Desktop Protocol. Additionally, the Guest Additions video
driver does not support full screen DirectX applications under
Windows, preventing VirtualBox from being used as a supplement to
WINE for playing old Windows games.
VirtualBox is a powerful,
free VMWare replacement that is already suitable for many of the tasks
previously requiring expensive VMWare licenses. It is available for
both Windows and Linux, with Mac OS X support in beta, and is
known to run both Windows and Linux stably. Other PC operating systems,
including FreeBSD, Solaris and OS/2, are being worked on and may
also be stable under VirtualBox. Development is progressing rapidly,
with five minor revisions in the ten months since the original source
release; the latest version of VirtualBox is available from
http://www.virtualbox.org/ or in Debian unstable.
(CC)
This
writeup is copyright 2007 D.G. Roberge and is released under
the Creative Commons Attribution-NonCommercial-ShareAlike licence.
Details can be found at
http://creativecommons.org/licenses/by-nc-sa/2.0/ .