Virtualization basically refers to the creation of a virtual version of either a device or a resource, hardware or software. Virtualization could mean the creation of another version, a virtual version, of a server, a network or a storage device. Virtualization is essentially done when users can access and utilize these virtual versions as if they were the real physical or logical resource. While virtualization may refer to partitioning of resources or making a single true resource seem to function as multiple resources, the trend today for virtualization is the contrary. The most common theme of virtualization today is hiding the underlying technical detail of one external interface from the end users.
Virtualization involves a host software which will perform the virtualization and create the virtual computer environment for its guest software. Creating the virtual environment would enable a guest software to run. For the virtualization to be effective the simulation must possess all the requirements needed by the guest system’s interfaces.
There are numerous types or approaches of virtualization and one way to classify is according to how much virtualization is done in order to create a new virtual system. One of these types is full virtualization. While a partial virtualization simulate only parts of the hardware environment, the full virtualization simulate enough hardware capabilities to allow an operating system designed to run the same hardware. This is, of course, in contrast to an emulation or a simulation which recreates the hardware environment completely and allows an operating system designed for a different hardware environment to run.