Virtualization is the process of abstracting computing resources such that multiple operating system and application images can share a single physical server, bringing significant cost-of-ownership and manageability benefits. It combines or divides computing resources to present one or many operating environments using methodologies like hardware and software partitioning or aggregation, partial or complete machine simulation, emulation, time-sharing, and many others.
There can be innumerous reasons how virtualization can be useful in practical scenarios, a few of which are the following:
• Server Consolidation
• Application consolidation
• Sandboxing
• Multiple execution environments
• Virtual hardware
• Multiple simultaneous OS
• Debugging
• Software Migration
• Appliances
Virtualization can take place in several levels of abstraction. Some of them are as follows:
Instruction set level
Virtualization at the instruction set architecture (ISA) level is all about instruction set emulation. Emulation is the technique of interpreting the instructions completely in software.
Hardware abstraction layer (HAL)
The functionality and abstraction level of a HAL level virtual machine lies between a real machine and an emulator.
OS level (system call interface)
Since system call invocation is the only way of communication from user-space to kernel-space, it should be possible for the virtualization software to totally control what the user-space processes can do by managing this interface.
User-level library interface,
Virtualization at the library interface is possible by controlling the communication link between the applications and the rest of the system through the API hooks.
Application level
it implements a virtualization layer as an application that eventually creates a virtual machine.
Thus, whatever may be the level of abstraction, the general phenomenon still remains the same; it partitions the lower-level resources using some novel techniques to map to multiple higher level VMs transparently.
Monday, May 24, 2010
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment