Kernel is the part of the operating system that interacts directly with the hardware. It is used to provide an application interface between programs and physical devices.
Most of the kernel programming is done in C language and the kernel is the heart of the operating system.
There are three types of kernels available,
1. Monolithic kernels - these are mostly used by Linux operating systems.
2. Micro kernels - are used for Minix operating systems.
3. Hybrid kernels - are mostly used b Windows and OS-X systems.
We can learn more about kernel and their internal programming in detailed in Kernel programming course.