Process of abstracting underlying hardware components from software is the primary concept behind virtualization.
1. Full Virtualization
In full virtualization, a single host operating system allows the execution of more than one guest operating system in an isolated way. This is performed using direct execution and binary translation. Here, host OS is unaware about virtualization. It is the 1st generation software solution for server virtualization.

2. Para-virtualization
Para-virtualization is an enhanced virtualization technique. It uses a modified OS capable of communicating with hypervisors. Here, the hypervisor is installed on the device and the guest OS is installed into the virtualization environment.

Difference between full virtualization and para-virtualization:
| S.No | Full Virtualization | Para-virtualization |
|---|---|---|
| 1. | Direct execution is possible. | Execution is done with the help of hypercalls. |
| 2. | It support all guest operating system without modification. | Guest operating system has to be modified and only a few operating systems support it. |
| 3. | Guest operating system will issue hardware calls. | Using the drivers, guest operating system will directly communicate with the hypervisor |
| 4. | It provides best isolation. | It provide less isolation compared to full virtualization. |
| 5. | It is more compatible | It is less compatible than full virtualization. |
| 6. | It is less streamlined compared to para-virtualization. | It is more streamlined |
| 7. | Used by VMware, Oracle Virtualbox etc.. | Used by Microsoft Hyper-V, Citrix Xen, etc.. |
| 8. | Overall speed is Intermediate | Overall speed is better certain times |
| 9. | It is less secure. | It is comparatively more secure. |
| 10. | Performance is intermediate. | Performance is comparatively good. |
