The IQ Exchange For Intelligence Systems, AI, Expert System, Virtual Reality

Platform Virtualization

Plaform virtualization is in the creation of a virtual machine using a combination of hardware and software.

The creation and management of virtual [pseudo] machines and server virtualization have both also acquired additional meanings through the years.

Platform virtualization is performed on a given hardware platform by "host" software [a control program], which creates a simulated computer environment [a virtual machine] for its "guest" software.

The "guest" software, which is often itself a complete operating system, runs just as if it were installed on a stand-alone hardware platform.

Typically, many such virtual machines are simulated on a given physical machine. For the "guest" system to function, the simulation must be robust enough to support all the guest system's external interfaces, which [depending on the type of virtualization] may include hardware drivers.

There are several approaches to platform virtualization, based on how complete a hardware simulation is implemented:


Emulation or Simulation

Emulation refers to the virtual machine simulating the complete hardware, allowing an unmodified "guest" OS for a completely different CPU to be run.

This enables the creation of software for new processors before they were physically available: Bochs, PearPC, PowerPC version of Virtual PC, QEMU without acceleration, and the Hercules emulator.

There are a number of ways to implement emulation; from state machines to the use of dynamic recompilation on a full virtualization platform.

Native Virtualization and Full Virtualization

In full virtualization, the virtual machine simulates enough hardware to allow an unmodified "guest" OS [one designed for the same CPU] to be run in isolation.

Typically, many instances can be run at once. Examples include VirtualBox, Virtual Iron, Virtual PC, VMware Workstation, VMware Server (formerly GSX Server),VMware ESX Server, QEMU, Adeos, Mac-on-Linux, Win4BSD, Win4Lin Pro, and z/VM.

Hardware Enabled Virtualization

In hardware enabled virtualization, tthe virtual machine has its own hardware and allows a guest OS to be run in isolation.

Often, the virtual machine runs an operating system different than that of the host computer.

The number of virtual machines installed on a primary OS is limited only by the host computer’s hardware and memory resources.

Both Intel and AMD provide additional hardware to support virtualization; including VMware Fusion, Parallels Desktop for Mac, and Parallels Workstation.

Partial Virtualization [Including "address space virtualization"]

Partial virtualization is where the virtual machine simulates multiple instances of much [but not all] of an underlying hardware environment, particularly address spaces.

This environment supports resource sharing and process isolation, but does not allow separate "guest" operating system instances.

Not exactly a virtual machine environment, but important for its use in such systems as CTSS, the experimental IBM M44/44X, and arguably systems like MVS. Microsoft Windows and Linux both use this basic approach, as do the virtualization categories below.


Paravirtualization means the virtual machine does not necessarily simulate hardware, but instead [or in addition] offers a special API that can only be used by modifying the "guest" OS.

This system call to the hypervisor is called a "hypercall" in Xen, and Enomalism; it is implemented via a DIAG ["diagnose"] hardware instruction in IBM's CMS under VM. Examples include Win4Lin 9x, Sun's Logical Domains, and z/VM.

Operating System-level Virtualization

OS virtualization is a means of virtualizing a physical server at the operating system level. This enables multiple isolated and secure virtualized servers to run on a single physical server.

The "guest" OS environments share the same OS as the host system. The same OS kernel is used to implement the "guest" environments.

Applications running in a given "guest" environment view it as a stand-alone system. Examples are Parallels Workstation, Parallels Desktop for Mac, Linux-VServer, Virtuozzo (for Windows or Linux), OpenVZ, Solaris Containers, and FreeBSD Jails.

Application Virtualization

Application virtualization involves running a desktop or server application locally, using local resources, within an appropriate virtual machine. This is in contrast with running the application as conventional local software [software that has been 'installed' on the system].

This approach compares with Software installation and Terminal Services.

A virtualized application runs in a small virtual environment containing the components needed to execute. This includes:

  • registry entries
  • files
  • environment variables
  • user interface elements
  • global objects.

This virtual environment acts as a layer between the application and the operating system, eliminating application conflicts and application-OS conflicts.

Examples include the Sun Java Virtual Machine, Softricity, Thinstall, Altiris, and Trigence.

This approach to virtualization is very different from preceding ones; being closely akin to virtual machine environments as Smalltalk, FORTH, Tcl, P-code, or any interpreted language.

NEXT: Resource Virtualization

Back To Top

The Brain
The Brain Functions
Brain-Like Computers
The Brain & DNA
Intelligence Quotes
Personal Intelligence
Personal Intelligence
Personal IQ
Business Intelligence
Business Intelligence
Data Warehouses
Expert Systems
Expert Systems
Artificial Intelligence [AI]
Aviation Expert Systems
Virtual Reality
Augmented Reality
Virtual Reality