Definition of VMkernel
VMkernel is an operating system developed by VMware which acts as a facilitator between the hardware machines and virtual machines running on those physical hardwares.
VMkernel is basically a portable Operating System Interface (POSIX) which acts as a micro operating system and provides interface for communication between the physical hardwares and the virtual machines running on those hardwares. VMkernel is operated on ESXi host and is responsible for all processes that are performed by other traditional operating systems including process scheduling, physical resource allocation and handling network controllers. VMkernel is also responsible for managing and allocating storage capacity and CPU to the different processes that reside in a queue. VMkernel uses Virtual Machine File System (VMFS) to support virtual disks and other large files within a system. Hence, VMkernel is used to create and communicate with virtual machines on physical machines in the most optimized way.