Virtualization is essentially some kind of abstraction of computing
resources. There are various kinds of abstractions. Files provide an
abstraction of disk blocks into linear space. Storage virtualization
products, like logical volume manager, virtualize multiple storage devices
into single storage and vice versa.
Processes are also a form of virtualization. A process provides an illusion
to the programmer that she has the entire address space at her disposal and
has exclusive control of hardware resources. Multiplexing of these resources
between all the processes on the system is done by the OS, transparent to the
process. This concept has been universally adopted.
All multi-programming operating systems are characterized by executing
instructions in at least two privilege levels i.e. unprivileged for user
programs, and privileged for the operating s... (more)