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]
In hardware virtualization, the term host machine refers to the actual machine on which the virtualization takes place; the term guest machine, however, refers to the virtual machine. Likewise, the adjectives host and guest are used to help distinguish the software that run on the actual machine from those that run on the virtual machine. The software or firmware that creates a virtual machine on the host hardware is called Hypervisor or Virtual Machine Monitor.
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