The Virtual World

By Sanjeeva Wijeyesakere

Disclaimer: Please read through this entire article before attempting to install or configure software. Also note that any installations you undertake are at your own risk and you should ensure that you have thoroughly read and understood the manufacturer's instructions and caveats for each software package you install. You should also make sure you have backed up ALL your data (just in case anything goes wrong).


What is virtualization?

In the field of computing, virtualization refers to a technique that allows one to run a piece of software (such as an operating system (OS)) independently of the underlying hardware. In essence, it allows for the emulation of a hardware environment over which software can be run. From a practical standpoint, this means that regardless of which OS you use (Windows, Mac OS, Linux, etc.), you can run another OS from within your primary system.

Why run an operating system in a virtual environment?

Suppose you are a Macintosh user and you use OS X for your daily computing needs, but you need to use use a Windows only application for your work. If you have a recent Intel-based Macintosh running OS X Leopard, you could use Apple's BootCamp utility to setup a dual-boot environment with Windows. However, if you only need to run one Windows application, permanently reserving a sizable portion of your hard drive for the second OS, coupled with the hassle of having to reboot your system into Windows would seem to be a waste of time and resources. This would also apply to Windows users who may need access to a Linux system to run some Linux-only software as well as to Linux users who may need access to Microsoft Office or other Windows-only applications.

In each of these cases, the best option (with respect to maximizing system resources and time) would be to virtualize the secondary OS within the primary one. If you use a newer Intel-based Mac, there are several commercially available virtualization systems available to you: Parallels and VMware Fusion are two popular OS X desktop virtualization solutions that have received positive reviews [1] [2]. In addition to this, Codeweavers has a product called CrossOver Mac which, while not a full-blown virtual machine, provides a compatibility layer that allows for running certain Windows applications on the Mac (as a matter of fact, CrossOver Mac is based on the open-source Wine project).

However, if you are interested in getting started with virtualization, Oracle has a cross-platform open-source virtualization system called VirtualBox (originally developed by Sun Microsystems) that is free for non-commercial use (the base application is released under the GPL2 license with the extension pack (which is free for personal use) released under a Personal Use and Evaluation license). If you are interested in trying out virtualization, VirtualBox would be a good option since it is easy to use and offers many of the features available in commercial desktop virtualization products.

1

Figure 1: The VirtualBox home screen showing the operating systems that are available

 

ubuntu

Figure 2: Ubuntu 9.04 (64-bit edition) running as a Guest OS under Mac OS X

 

3

Figure 3: PyMOL running in a virtualized instance of Scientific Linux

 

For complete details on how to install VirtualBox along with the associated virtual operating systems, take a look at the online documentation for VirtualBox.

 

Project: Virtualizing Haiku

Rather than having a tutorial on virtualizing Windows, Linux or a more common OS using VirtualBox, this section shows the Haiku operating system running in a virtual machine (VM). Haiku is an open source alternative to BeOS and a third alpha version was released recently. Using Haiku gives one a glimpse of what the Mac OS could have evolved from had Apple purchased BeOS instead of NeXT (OS X is derived from NeXT’s NeXTSTEP operating system). A surprising feature of Haiku is its extraordinary speed. When running in a virtual machine with 512MB of RAM and 64 MB of VRAM, it takes a mere 18 seconds for Haiku to start-up (going from the BIOS splash screen to a usable desktop) and little over 2 seconds to shut down.

Here are some screenshots of my virtualized Haiku installation:

haiku_install-1

The Haiku installer

 

haiku_startup

The Haiku splash screen

 

haiku_desktop

Haiku desktop - note the DeskBar on the upper right-hand site of the screen

 

haiku_apps

The default applications distributed with Haiku


haiku_pe

Pe (Programmer’s Editor), an open-source text editor for BeOS and Haiku

 

haiku_root_filesystem

Haiku’s root file system

 

haiku_glteapot2

GLTeapot is one of the demo apps available in Haiku- notice that despite running in a virtual machine with 32MB of allocated VRAM, the demo is able to render >200 fps.

 

External sites of interest (leaving this site)

1. VirtualBox (official site)
2. Official Haiku site