written 6.3 years ago by | • modified 6.2 years ago |
Figure 4: Virtualization ranging from hardware applications in five abstraction levels
Instruction Set Architecture Level:
At the ISA level, virtualization is performed by emulating a given ISA by the ISA of the host machine.
For example, MIPS binary code can run on an x86-based host machine with the help of ISA emulation. With this approach, it is possible to run a large amount of legacy binary code written for various processors on any given new hardware host machine.
Instruction set emulation leads to virtual ISAs created on any hardware machine. The basic emulation method is through code interpretation.
An interpreter program interprets the source instructions to target instructions one by one. One source instruction may require tens or hundreds of native target instructions to perform its function. Obviously, this process is relatively slow. For better performance, dynamic binary translation is desired. This approach translates basic blocks of dynamic source instructions to target instructions.
The basic blocks can also be extended to program traces or super blocks to increase translation efficiency. Instruction set emulation requires binary translation and optimization.
A virtual instruction set architecture (V-ISA) thus requires adding a processor-specific software translation layer to the compiler.
Hardware Abstraction Level:
Hardware-level virtualization is performed right on top of the bare hardware.
On one hand, this approach generates a virtual hardware environment for a VM. On the other hand, the process manages the underlying hardware through virtualization. Hardware-level virtualization is performed right on top of the bare hardware. On the one hand, this approach generates a virtual hardware environment for a VM. The process manages the underlying hardware through virtualization. The idea is to virtualize a computer’s resources, such as its processors, memory, and I/O devices. The intention is to upgrade the hardware utilization rate by multiple users concurrently. The idea was implemented in the IBM VM/370 in the 1960s. More recently, the Xen hypervisor has been applied to virtualize x86-based machines to run Linux or other guest OS applications.
.
Operating System Level:
This refers to an abstraction layer between traditional OS and user applications.
OS-level virtualization creates isolated containers on a single physical server and the O instances to utilize the hardware and software in data centers. The containers behave like real servers.
OS-level virtualization is commonly used in creating virtual hosting environments to allocate hardware resources among a large number of mutually distrusting users.
It is also used, to a lesser extent, in consolidating server hardware by moving services on separate hosts into containers or VMs on one server.
Library Support Level:
Most applications use APIs exported by user-level libraries rather than using lengthy system calls by the OS. Since most systems provide well-documented APIs, such an interface becomes another candidate for virtualization.
Virtualization with library interfaces is possible by controlling the communication link between applications and the rest of a system through API hooks.
User-Application Level:
Virtualization at the application level virtualizes an application as a VM. On a traditional OS, an application often Hopefully you won't encounter issues with your newly deployed virtual infrastructure. But if you do, you should have documentation and diagrams of your environment. You should also have support information and a support contract for your servers, SAN, network, storage and virtualization software.