• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

UnixArena

  • Home
  • kubernetes
  • DevOps
    • Terraform
    • Jenkins
    • Docker
    • Openshift
      • OKD
    • Ansible engine
    • Ansible Tower
      • AWX
    • Puppet
  • Cloud
    • Azure
    • AWS
    • Openstack
    • Docker
  • VMware
    • vCloud Director
    • VMware-Guests
    • Vcenter Appliance 5.5
    • vC OPS
    • VMware SDDC
    • VMware vSphere 5.x
      • vSphere Network
      • vSphere DS
      • vShield Suite
    • VMware vSphere 6.0
    • VSAN
    • VMware Free Tools
  • Backup
    • Vembu BDR
    • Veeam
    • Nakivo
    • Azure Backup
    • Altaro VMBackup
    • Spinbackup
  • Tutorials
    • Openstack Tutorial
    • Openstack Beginner’s Guide
    • VXVM-Training
    • ZFS-Tutorials
    • NetApp cDot
    • LVM
    • Cisco UCS
    • LDOM
    • Oracle VM for x86
  • Linux
    • How to Articles
    • Q&A
    • Networking
    • RHEL7
  • DevOps Instructor-led Training
  • Contact

Para virtualization vs Full virtualization vs Hardware assisted Virtualization

December 11, 2017 By Cloud_Devops 8 Comments

Virtualization is nothing but abstracting operating system, application, storage or network away from the true underlying hardware or software. It creates the illusion of physical hardware to achieve the goal of operating system isolation. In last decade, data centers were occupied by a large number of physical servers, network switches, storage devices. It consumed a lot of power and manpower to maintain the data centers. In that period, there were many companies were researching about the hardware emulation/simulation like QEMU, virtual PC etc.. It’s very hard to list all the virtualization types here. So I have just listed down only the server virtualization types.

 

 

  • Full Virtualization (Hardware Assisted/ Binary Translation )
  • Paravirtualization
  • Hybrid Virtualization
  • OS level Virtualization
Types of virtualization
Types of virtualization

 

Full Virtualization:

Virtual machine simulates hardware to allow an unmodified guest OS to be run in isolation. There is two type of Full virtualizations in the enterprise market.  On both full virtualization types, guest operating system’s source information will not be modified.

  • Software assisted full virtualization
  • Hardware-assisted full virtualization

 

Software Assisted – Full Virtualization  (BT – Binary Translation )

It completely relies on binary translation to trap and virtualize the execution of sensitive, non-virtualizable instructions sets. It emulates the hardware using the software instruction sets. Due to binary translation, it often criticized for performance issue. Here is the list of software which will fall under software assisted (BT).

  • VMware workstation (32Bit guests)
  • Virtual PC
  • VirtualBox (32-bit guests)
  • VMware Server
Binary Translation - Full Virtualization
Binary Translation – Full Virtualization

 

Hardware-Assisted –  Full Virtualization  (VT)

Hardware-assisted full virtualization eliminates the binary translation and it directly interrupts with hardware using the virtualization technology which has been integrated on X86 processors since 2005 (Intel VT-x and AMD-V).  Guest OS’s instructions might allow a virtual context execute privileged instructions directly on the processor, even though it is virtualized.

Hardware-assisted virtualization - Hypervisor
Hardware-assisted virtualization – Hypervisor

Here is the list of enterprise software which supports hardware-assisted – Full virtualization which falls under hypervisor type 1  (Bare metal )

  • VMware ESXi /ESX
  • KVM
  • Hyper-V
  • Xen
hypervisor - Native - Bare-metal
hypervisor – Native – Bare-metal

 

The following virtualization type of virtualization falls under hypervisor type 2  (Hosted).

  • VMware Workstation  (64-bit guests only )
  • Virtual Box (64-bit guests only )
  • VMware Server (Retired )
Hosted - Hypervisor type 2
Hosted – Hypervisor type 2

 

Paravirtualization:

Paravirtualization works differently from the full virtualization. It doesn’t need to simulate the hardware for the virtual machines. The hypervisor is installed on a physical server (host) and a guest OS is installed into the environment. Virtual guests aware that it has been virtualized, unlike the full virtualization (where the guest doesn’t know that it has been virtualized) to take advantage of the functions. In this virtualization method, guest source codes will be modified with sensitive information to communicate with the host. Guest Operating systems require extensions to make API calls to the hypervisor. In full virtualization, guests will issue a hardware calls but in paravirtualization, guests will directly communicate with the host (hypervisor) using the drivers. Here is the lisf of products which supports paravirtualization.

  • Xen
  • IBM LPAR
  • Oracle VM for SPARC  (LDOM)
  • Oracle VM for X86  (OVM)

 

The below diagram might help you to understand how Xen supports both full virtualization and paravirtualization. Due to the architecture difference between windows and Linux based Xen hypervisor, Windows operating system can’t be para-virtualized.  But it does for Linux guest by modifying the kernel.  But VMware ESXi doesn’t modify the kernel for both Linux and Windows guests.
Xen supports both Full virutalization and Para-virtualization

Xen supports both Full virtualization and Para-virtualization

Hybrid Virtualization: ( Hardware Virtualized with PV Drivers )

In Hardware assisted full virtualization, Guest operating systems are unmodified and it involves many VM traps and thus high CPU overheads which limit the scalability.  Paravirtualization is a complex method where guest kernel needs to be modified to inject the API. By considering these issues, engineers have come with hybrid paravirtualization. It’s a combination of both Full & Paravirtualization. The virtual machine uses paravirtualization for specific hardware drivers (where there is a bottleneck with full virtualization, especially with I/O & memory intense workloads), and the host uses full virtualization for other features. The following products support hybrid virtualization.

  • Oracle VM for x86
  • Xen
  • VMware ESXi

The following diagram will help you to understand how VMware supports both full virtualization and hybrid virtualization. RDMA uses the paravirual driver to bypass VMkernel in hardware-assisted full virtualization.

VMware ESXi - Example of Hybrid virtualization
VMware ESXi – Example of Hybrid virtualization

 

OS level Virtualization:

Operating system-level virtualization is widely used.It also knowns “containerization”. Host Operating system kernel allows multiple user spaces aka instance.In OS-level virtualization, unlike other virtualization technologies, there will be very little or no overhead since its uses the host operating system kernel for execution. Oracle Solaris zone is one of the famous containers in the enterprise market.  Here is the list of other containers.

  • Linux LCX
  • Docker
  • AIX WPAR
Solaris Containers - OS level virtualization Example
Solaris Containers – OS-level virtualization Example

Each virtualization technologies have their own advantages and disadvantages. The choice of virtualization heavily depends on use and cost.

There are a lot of technologies are evolving and enterprise products support multiple virtualization types to improve the performance and reduce the resource overhead. I know its bit hard to understand and classify the virtualization technologies. But I have tried my level best to put it together.

Share it! Comme it !!  Be sociable !!!

Filed Under: virtual Box, Virtualization, VMware Tagged With: Containers, Hypervisor, OVM, Paravirtualization, VMware

Reader Interactions

Comments

  1. Stephan Brüning says

    March 9, 2022 at 12:27 am

    I think that graphic for paravirtualization is a 1to1 from Tanenbaum Modern Operationg Systems, yet you put your watermark on it.

    Reply
  2. Sudipta says

    June 3, 2021 at 12:27 am

    Help to clear my doubt A-LOT

    Thanks

    Reply
  3. Quim says

    October 14, 2020 at 9:37 pm

    This article is gold. Thanks a ton.

    Reply
  4. Ali says

    April 3, 2020 at 12:52 am

    Awesome article and Thanks so much, It was completely clear and well-explained Virtualization (even maybe better than some references). After reading 3 articles,I found it very useful and without ambiguity, Again special thanks the author.

    Reply
  5. Baskar says

    September 22, 2019 at 12:59 pm

    Very clear explanation. Thank you.

    Reply
  6. Narcislinux says

    April 30, 2019 at 10:44 pm

    Hi, thanks, It helps me very much to understand virtualization type .
    just I think image of “Binary Translation – Full Virtualization” not correct because Guest OS run in Ring 0, but it should run in ring 1, isn’t it?

    Reply
    • Lingeswaran R says

      May 1, 2019 at 11:41 am

      Binary translation is one specific approach to implementing full virtualization that does not require hardware virtualization features.

      Lingesh

      Reply
    • Himanshu Chandel says

      March 2, 2020 at 8:08 pm

      The Ring 0 in Guest OS is referring to the Ring 0 of the guest OS and not the host OS meaning Guest OS is running in ring higher than ring 1 where Hypervisor is running. So in short, hypervisor is running in ring 1 of host OS and guest OS running in any of the higher rings than ring 1 (say ring 2), any ring stated above that(see carefully; as you can see that there is ring 0 then ring 1 then ring 0, see the repetition) belongs to the guest OS. I hope that explains it.

      Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Follow UnixArena

  • Facebook
  • LinkedIn
  • Twitter

Copyright © 2025 · UnixArena ·

Go to mobile version