The Linux kernel
Android relies on Linux version 2.6 for core system services such as security, memory management, process management, network stack and driver model. The kernel also acts as an abstraction layer between the hardware and the rest of the software stack. The source code of the Linux kernel used for the Android stack is available at http://android.googlecode. com/files/linux-2.6.23-android-m3-rc20.tar.gz