Several online definitions can be found on proprietary websites viz. Wiki, about....etc. The one that appeals to me the most defines the Kernel of an OS as the part of the operating system that loads first, and in the main memory. Because it stays in memory, it is important for the kernel to be as small as possible while still providing all the essential services required by other parts of the operating system and applications.
To me, a simple definition would do : Kernel is the core or the crux of the operating system! It is the only link between the hardware and the software. Seems simple to understand, no?? Well....look at this diagram of the Linux kernel, and you'll be able to adjudicate for yourself. ;)
Diagram of the linux kernel. (click to view and enlarge)
The kernel's primary purpose is to manage the computer's resources and allow other programs to run and use these resources, these resources include the CPU, the main Memory (RAM), and the I/O devices.
Typically, the kernel is responsible for memory management, process & task management and disk management. These concepts are the base for a Kernel development (KernelDev) which I shan't explain here.
Furthermore, the aforesaid tasks are done differently by different kernels, depending on their design and implementation.
My projects have been keeping me on my toes so i feel this brief introduction to OS Kernel will fill you up for the day. Although, more can be read online. Wikipedia is the best online documentation for everything. Wait till my next post. Adieu~!