What is Virtualization?

Virtualization is technology for supporting execution of computer program code, from applications to entire operating systems, in a software-controlled environment. Such a Virtual Machine (VM) environment abstracts available system resources (memory, storage, CPU core(s), I/O, etc.) and presents them in a regular fashion, such that “guest” software cannot distinguish VM-based execution from running on bare physical hardware.

Virtualization

Virtualization

A virtual machine provides a software environment that allows software to run on bare hardware. This environment is created by a virtual-machine monitor, also known as a hypervisor. A virtual machine is an efficient, isolated duplicate of the real machine. The hypervisor presents an interface that looks like hardware to the “guest” operating system.

Facts about virtualization

Virtualization commonly refers to native virtualization, where the VM platform and the guest software target the same microprocessor instruction set and comparable system architectures. Virtualization can also involve execution of guest software cross-compiled for a different instruction set or CPU architecture; such emulation or simulation environments help developers bring up new processors and cross-debug embedded hardware.

Virtualization takes advantage of distinctions in most microprocessor architectures between common and privileged instructions and resources. For common, non-privileged execution, guest program code executes with full native performance. Attempts to execute privileged instructions (e.g., modifying machine state or configuration) result in an exception or trap, at which point, the hypervisor (or Virtual Machine monitor) assumes control. Insinuating the hypervisor between guest program code and real system resources permits the hypervisor to control and manage those resources and maintains a particular guest view of the system. The presence of the hypervisor and the isolation it maintains among guest OSes enhances robustness and security by blocking access to critical resources by untrusted guest programs.

Pure Virtualization

Pure Virtualization

Privileged instructions execute successfully if the processor is in a privileged state (typically called privileged mode, kernel mode, or supervisor mode) but generate an exception when executed in unprivileged mode (also called user mode). Most instructions of the virtual machine are directly executed, while some cause an exception, which invokes the hypervisor, which then interprets the instruction.

Join the Community: OK Developer Mailing List 

Back To Top