Virtual Servers and Systems
Microsoft, IBM, Sun, and Hewlett-Packard are all investing time and money in virtualization technology, especially server- or operating system-level virtualization. Various approaches can be employed in server and operating system-level virtualization:
Emulation is an ambitious approach, in that the virtual machine (VM) simulates the full hardware of the "guest" machine and thus lets you run unmodified copies of the operating system and applications for a different CPU. Examples include Microsoft Virtual PC for the Power PC, which emulates an x86 machine on Power PC hardware, and PearPC, which emulates in the other direction. But emulation is typically very slow; 10 percent of native speed would be considered good. Some people do not consider emulation to be virtualization at all, but we're taking a catholic view here.
Native virtualization does less, in that it requires the host and guest CPUs to be the same. This buys it a lot in speed as compared to emulation, and native virtualization implementations typically run at native or near-native speed. Native virtualization lets you run an unmodified copy of a different operating system. Examples include VMware, Parallels Desktop, and HP's Integrity Virtual Machines.
In the approach often called "paravirtualization," the hypervisorthe software agent that manages the partitioning of the systemcollaborates with the operating system in some of the operating system roles, to make the process more efficient. The VM presents an API that expects system calls from the (modified) operating system. Paravirtualization is typically a native or near-native proposition. Example implementations include Parallels Workstation, Xen, and IBM's VM.
In operating system-level virtualization, the guest applications not only have to be written for the same CPU as the host, but for the same OS as well. The same OS kernel serves all the OS environments, which appear to be separate servers of the same type as the host. Performance is at native speed. Examples include User Mode Linux, Solaris Containers, and FreeBSD Jails.
Server- or operating system-level virtualization offers all sorts of benefits, not limited to expanding Apple's customer base (although would be a nice benefit to Apple). IT managers can use server virtualization to more efficiently manage resources; for example, by eliminating a server dedicated to the sporadic running of some legacy application. And the ability to partition off the resources of the system by creating several virtual servers with different permissions can solve a lot of security problems.