This layer includes Android’s memory management programs, security settings, power management software and several drivers for hardware, file-system access, networking and inter process communication. The kernel also acts as an abstraction layer between hardware and rest of the software stack.