Explain different implementing level of virtualization.
Levels of Implementing Virtualization
There are five levels of implementing virtualizations, which are as follows:
1. Instruction Set Architecture Level (ISA):
Virtualization in ISA is accomplished by ISA emulation. This is useful for running large amounts of legacy code that was originally developed for various hardware configurations. These programs can be executed on the virtual machine through an ISA. A binary code that previously required extra layers to operate may now be executed on an x86 processor or, with little altering, even on an x64 computer. ISA contributes to this virtual machine's hardware independence. The fundamental emulation, on the other hand, requires the use of an interpreter. This translator translates the source code and turns it into a hardware-readable format for processing.
2. Hardware Abstraction Level (HAL):
Hardware-level virtualization occurs directly on top of the hardware. This method creates a virtual hardware environment for a virtual machine as well as handles the underlying hardware through virtualization. The goal is to virtualize the resources of a computer, such as its processors, memory, and I/O devices. The goal is for several users to enhance the hardware usage rate at the same time. In the 1960s, the notion was realized in the IBM VM/370. Recently, the Xen hypervisor has been used to virtualize x86-based workstations to run Linux or other guest operating systems.
3. Operating System Level:
The virtualization paradigm, at the operating system level, establishes an abstract layer between the programs and the OS. It functions as a separate container on the actual server and operating system, utilizing hardware and software. To allocate hardware resources among a large number of mutually distrusting users, OS-level virtualization is often utilized in the creation of virtual environments. Every user gets their virtual environment with their virtual hardware resources.
4. Library Support Level:
Instead of the OS's long system calls, most programs use APIs revealed by user-level libraries as most systems have well-documented APIs. Virtualization using library interfaces is achieved by using API hooks to regulate the communication channel between programs and the rest of the system. This concept has been applied by the software utility WINE to Support Windows programs on top of UNIX hosts. Another example is vCUDA, which enables programs running within virtual machines to make use of GPU hardware acceleration.
5. Application Level:
When you simply want to virtualize a single program, application virtualization needs to be considered. In this case, the entire environment of the platform does need to be virtualized. As applications run as a single process on a computer's operating system this can also be referred to as process-level virtualization. It is beneficial when operating Virt machines that employ high-level languages. In this case, the virtualization layer sits on top of an operating system as an application program, and the layer exports an abstraction of a VM that c run programs written and compiled to a certain abstract machine specification. Any HLL base software that has been built for this VM will be able to execute on it. This type of VM is exemplified by the Microsoft.NET CLR and the Java Virtual Machine (JVM).
Comments
Post a Comment