CentOS is a free operating system distributed by Linux which was based on Red Hat Enterprise Linux. The purpose of making this OS available is to provide stable Linux solutions for an individual or an organization that needs better commercial support for successful operation. Among the many features that the user can enjoy with CentOS is its capability for virtualization.
There are two known CentOS virtualization technologies today. These are the Xen and the KVM. To make this possible, there are two approaches related to the CentOS virtualization technology. It can be a full virtualization or a paravirtualization.
Full virtualization provides the use of various hardware devices which can be imitated or emulated. This approach usually attempts running many instructions as possible using the native CPU. Meanwhile, the paravirtualization can be used if the user wants the guest operating system to be ported to the hypervisor, which is a layer that sits between the virtualized system and hardware. In applying this to CentOS virtualization, the compatibility of the two approaches must be considered.
Xen supports hardware-assisted full virtualization and paravirtualization. With this virtualization technology, both the approaches can run at the same time. But the Xen requires a hypervisor which boots before the Linux kernel. Meanwhile, KVM supports only the hardware-assisted full virtualization. Its support for the paravirtualization is still worked on. The difference of KVM from the Xen is that KVM is a kernel module and it works with the default kernel.
Although the two CentOS virtualization technologies have their own weaknesses and plus points, these can still be beneficial for specific users.