QuickStudy: Virtual machines

24.04.2006

Microsoft Corp.'s Virtual PC and VMware's GSX Server and Workstation are called hosted virtual machines. In these products, the VM is like any other application running on an OS. The VM application is divided into an intermediary software layer, an OS and an application running on that OS.

This scheme is less efficient and less powerful than that used for hypervisor servers, but it provides the same kind of advantages, allowing a user to run legacy programs and to partition applications from the rest of the system. A user who wants to visit dangerous Web sites, for example, could add a layer of protection by doing his surfing via a virtual machine.

Application-Level VMs

Application-level VMs, such as the Java virtual machine, are similar to the hosted model in that they run as applications. These VMs, however, combine the intermediary software layer with the OS. The Java VM runs like an application on the native OS, and the Java application runs on the VM.

One of the advantages claimed for this programming paradigm is that a Java program will run on any Java VM without recompilation. That is left to the provider of the Java VM, which must make it run on a variety of native OSs.