Virtualization, in computing, is the creation of a virtual (rather than actual) version of something, such as a hardware platform, operating system, a storage device or network resources.
Virtualization can be viewed as part of an overall trend in enterprise IT that includes autonomic computing, a scenario in which the IT environment will be able to manage itself based on perceived activity, and utility computing, in which computer processing power is seen as a utility that clients can pay for only as needed. The usual goal of virtualization is to centralize administrative tasks while improving scalability and work loads.
Virtualization is the creation of a virtual (rather than actual) version of something, such as an operating system, a server, a storage device or network resources.
Hardware
Main article: Hardware virtualization
Hardware virtualization or platform virtualization refers to the creation of a virtual machines that acts like a real computer with an operating system. Software executed on these virtual machines are separated from the underlying hardware resources. For example, a computer that is running Microsoft Windows may host a virtual machine that looks like a computer with Mac OS X operating system. Subsequently, Mac OS X-based software can be run on that virtual machine.[1][2]

Different types of hardware virtualization include:
- Full virtualization: Almost complete simulation of the actual hardware to allow software, typically a guest operating system, to run unmodified
- Partial virtualization: Some but not all of the target environment is simulated. Some guest software, therefore, may need modifications to run in this virtual environment.
- Paravirtualization: A hardware environment is not simulated; however, the guest software are executed in their own isolated domains, as if they are running on a separate system. Guest software need to be specifically modified to run in this environment.
Hardware-assisted virtualization is a way of improving the efficiency of hardware virtualization. It involves employing specially-designed CPUs and hardware components that help improve the performance of a guest environment.
Hardware virtualization must not be mistaken with hardware emulation: In hardware emulation, a piece of hardware imitates another, while in hardware virtualization, a hypervisor (a piece of software) imitates a computer hardware. Furthermore, a hypervisor must not be mistaken with an emulator. These two are defined similarly: Both are computer programs that imitate hardware. However, their domain of use in language differs.
See also: Mobile Virtualization
[edit]Software
- Operating system-level virtualization, hosting of multiple virtualized environments within a single OS instance
- Application virtualization and Workspace virtualization, the hosting of individual applications in an environment separated from the underlying OS
[edit]Memory
- Memory virtualization, aggregating RAM resources from networked systems into a single memory pool
- Virtual memory, giving an application program the impression that it has contiguous working memory, isolating it from the underlying physical memory implementation
[edit]Storage
- Storage virtualization, the process of completely abstracting logical storage from physical storage
- Distributed file system
[edit]Data
- Data virtualization, the presentation of data as an abstract layer, independent of underlying database systems, structures and storage
- Database virtualization, the decoupling of the database layer, which lies between the storage and application layers within the application stack
[edit]Network
- Desktop virtualization, the remote display, hosting or manipulation of a graphical computer environment (desktop)
- Network virtualization, creation of a virtualized network addressing space within or across network subnets