What is a VM or “Virtual Machine”?

First, Our definition of just what a VM is:
In the context we are using, we see a Virtual Machine as a dedicated/protected environment for running another Operating System (OS) inside of Mac OS X. We consider this OS to be the Guest OS or Secondary OS, while Mac OS X is the Host OS or the Primary OS. The Guest OS can be Windows, Linux, Solaris, DOS, even OS/2.

What About Apple’s Boot Camp and CrossOver Mac and Darwine?
While they may not fit into what you would consider to be virtualization software, nonetheless they are very relevant to what most of us are tyring to accomplish. For a better comparison of CrossOver Mac versus Virtualization, please see this article about Choosing CrossOver Mac vs Virtualization

Hardware versus Software Virtualization:
In the past, using PowerPC-based Macs, all we had was software virtualization. All of the hardware in the Guest OS was emulated through software – there is no access to the hardware directly. This is still the case, for the most part, with Single Core Intel-based Macs (such as the Mac mini that ran Intel’s Core Solo CPUs). However, with the move to Intel, and the useage of Dual-Core Intel CPUS, that all changed. Using Intel’s Virtualization Technolgy (VT or IVT), we now have Windows (or other Guest OSes for that matter) running at near-native speeds – almost as fast as using a Windows-only PC – fast enough that many people won’t be able to tell the difference. The Guest OS has access to much of the hardware, in some cases on Dual Core Intel-based Macs, it’s like the Guest OS has it’s own CPU while the Host OS/Mac OS X has the other.

Why Not Use Boot Camp on Intel-base Macs?
Boot Camp is great for certain things – where you have a need to access all of the hardware at full speed, under Windows, such as Windows-based video or photo editing where you want to access both Cores (assuming you have a Dual Core system), or especially 3D-accelerated games. The current Virtualization solutions do not support 3D acceleration at this time, and games requiring that are going to run slow in a virtual environment. Keep in mind this requires rebooting the system, and you are no longer in Mac OS X when using one of these solutions.

Why Use a VM Solution on Intel-based Macs?
Rebooting, as in, there is no need to reboot when using a VM. For the majority of applications that many people use, with the Dual-Core Intel solutions we now have, most people will find that using a VM solution is a perfect fit. When you move into hardware virtualization, you will find that many applications will run at near-native speeds on Intel-based Dual-Core systems. Whether it’s a genealogy applications, or some version of Microsoft Office, or even Photoshop (currently PowerPC-based Photoshop running under Rosetta is slower on a Dual Core Intel system than running inside of something like Parallels Desktop), it will run almost as fast as if you were dual booting your machine using Boot Camp and just booting into Windows. On top of that, you can have multiple OSes active at the same time, or just, in general, have multiple OSes. If you are a web developer, it’s great to easily see how your sites will look under the various versions of Internet Explorer for Windows or Linux and its web browsers, without having to reboot. If you rely on one or two Windows-based applications, it’s great to be able to have access to those applications, while using Mac OS X for everything else. If you have some legacy applications that require some form of DOS, or another Intel-based OS, it’s the same thing – you can still have access to that legacy application, while enjoying the benefits of using a Mac and Mac OS X. You can also, for the most part, run multiple OSes under your Host OS (Mac OS X) at the same time.

Drive Image/Virtual Image/Virtual Harddrive:
In almost all cases, the VM software creates some kind of virtual drive image – that is, it creates a large image file (that can usually be adjusted in size after the fact), and all of your Guest OS files, applications, etc., are stored inside of that image file (note: not “image” as in in graphics file, but image as in a copy of a harddrive). This means that your Guest OS and your Host OS (Mac OS X) are protected from one another – a crash in your Guest OS is not going to bring down your Host OS, nor are files from either OS going to overwrite files from the other OS. That’s not to say that you can’t access the file systems from both OSes – for the most part you can mount the other’s filesystem as a shared drive.

Sharing Data Between Guest and Host OSes:
For the most part, besides mounting each other’s filesystem as a network or shared drive, most VM software allows for some sort of cut-and-paste/clipboard sharing between the Guest and Host OS (and some even allow for more than text in the clipboard).

Performance with Intel Macs
With one of the Intel Dual Core-based Macs – either the Core Duo (Mac mini, MacBook, MacBook Pro, first Intel-based iMac), the Core 2 Duo (current Intel-based iMac), or the Intel “Woodcrest” Xeon (MacPro), as stated already, near-native speeds can be reached with many applications (that don’t require 3D acceleration).

Performance with PowerPC Macs
Guest PC has come a long way when it comes to performance under PowerPC-based Macs, however it is still doing software virtualization. Performance is acceptable for the majority of applications that people are going to be using, but it’s still going to be much slower than an Intel-based Mac.

Related Articles:
– VM Entry at Wikipedia.org

Leave a Comment