Virtual machine implementation base

There are some implementations of a virtual machine engine that rely on the techniques of emulation. For example, they emulate the x86/x64 architecture by adding a translation layer at the guest OS level, which enables them to execute on different platform architectures like the PowerPC, as well as x86/x64. However, this additional layer slows down the virtual machine quite significantly.

Modern virtualization techniques implement the isolation and segregation of the virtual machine within system memory. With support from modern hardware that provides special instruction-set for virtualization, the virtual machine engine passes on the execution of the guest virtual machine directly to the native hardware. Thus, the performance of a modern virtualization based virtual machine implementation is much faster than older VMs due to native hardware support and faster than emulation-based VMs due to the absence of an additional translation layer.

There is another concept of virtual machines, for example, those that execute the Java or .NET code, but they are different and are limited and targeted in their scope. A Java Virtual Machine (JVM) provides a mechanism to execute the Java bytecode, and Common Language Runtime (CLR) provides mechanisms to execute the programs written for the .NET framework, regardless of the programming language. The specs do not mandate that the bytecodes are executed by the software or the hardware, or that the bytecode should be translated to machine code. This sort of VM implementation can do a combination of both using emulation or where appropriate and by using a Just-In-Time (JIT) compilation, where appropriate.

Some famous examples of virtual machines include Oracle VirtualBox, VMware vSphere, Microsoft Hyper-V, Xen (OSS), and KVM (OSS).

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.139.107.210