Android Kernel : The Complete Explanation

Android Kernel can be considered as the heart of Android Programming. If you want to learn write Android programs, then  it is recommended that you have knowledge of Android Kernel. If you are an Android lover and keeps on reading Android stuff in various forums and blogs, then you might have heard about Kernel many times.

The concept of Kernel is not unique for Android, rather we have a kernel associated with all Operating Systems. The Android kernel is a Linux based Kernel. So we might be interested to gain knowledge about it.

android kernel

Though Android kernel [Wiki]is based on Linux, it is not exactly similar to the Linux Kernel. There is a lot of code buillt-in which is specific to Android only. We also have concept of OEMs which contribute to it as it required to develop hardware drivers (for the one which our program is going to us). This is the main reason that some of the Android developers are able to get new versions to work on older device. They basically update the kernel on Android based phone.

Eg. If a device is on Android GingerBread then it has a different kernel than one running on Jellybean. The Android kernel is important in functionality because directly controls the hardware. So a custom developer would update the kernel of older GingerBread running device and this would allow him to port it on Jellybean.

You might’ve also seen that in some of the custom ROMs, some hardware donot work properly. This is only because Android Kernel was not properly updated and software cannot interact with hardware. So Android Kernel can be considered as an important intermediate link between hardware and software.

Android Kernel : Explained through Example

Here is yet another example to explain the functionality of Android Kernel:

Suppose you are running music player on your Android device and you press the volume up button to increase the volume. when you press the button, hardware action is performed and it sends a signal to Android Kernel. This in-turn perform action assigned against it. Kernel is the main stream for both Hardware-to-Software and Software-to-Hardware communication.

So I hope that this gives you a fair high-level idea about the Android Kernel. We would be going further and taking more topics related to Android Programming in near future.