A kernel is the intermediate between the software and the hardware, or we can say that it is that it acts as a bridge between the applications and the hardware. Its working depends upon what type of kernel it is. Some people mistake kernel by drivers but let me make it very clear that there is nothing in common in the drivers and kernels, like drivers work is to convert the commands from computer into a readable binary code that the hardware can access but on the other hand in the similar situation, the kernel will decide that how to convert the code, who will convert the code and who will receive this code, even how much time this all process will take and how much space should be provided to it is decided by the kernel.
Job of the kernel
1. Processor allocation:
This is them main job of the kernel, it is the kernel who decides that which running program will use the process. Like if you are running a game, browser and paint, then it will be decided by the kernel to allocate the processing for the respective items, it is this reason that quad core or above are better than the dual cores even if the Giga hertz is same, quad core can work on 4 applications at the same time as it has four working areas, in comparison to one.
2. Memory Allocation:
The ram allocation is the job of the kernel, it is kernel who decides that how much space should be provided to the applications running, we also raise the priorities of the applications, by doing so, we actually request the kernel to provide some more space to the application.
3. Device Selection:
This is the function through which we are able to insert cd and the cd runs. The kernel knows where to send the information, if a particular software like for mobile it is pc suite, kernel acts as a bridge or else the computer may never come to know to which software needs which hardware to work.
Kernels also provide beautiful methods for synchronization and communication between processes called inter-process communication (IPC)
Due to such high level working mechanism of kernel, kernel too are made of different type, like the monolithic kernel, hybrid kernel, advance kernel, micro kernel etc. According to the need of the system the kernels are made. Actually the first step for making a operating system is actually making its kernel. The processing speed and its compatibility all is based on the structure of kernel. Hence we can see that all though we never realise kernel working, it is the reason that you are actually working now………..