List of Kernel features unique to Android

Important update

Binder

Binder - corba-like IPC

Originally a feature in BeOS, Binder was a central construct for encapsulating software interfaces. One of the architects behind this mechanism was Dianne Hackborn, who is now a key employee at Android/Google. For more history see this interview.

pmem

The pmem driver is used to manage large (1-16+MB) physically contiguous
regions of memory shared between userspace and kernel drivers (dsp, gpu,
etc). It was written specifically to deal with hardware limitations of
the MSM7201A, but could be used for other chipsets as well. For now,
you're safe to turn it off on x86.

logger

logger - system logging facility

This is the kernel support for the 'logcat' command

The kernel driver for the serial devices for logging are in the source code drivers/android/logging.c

2. User space sets the oom_adj of processes to put them in the correct class for their current operation. This redefines the meaning of oom_adj from that used by the standard OOM killer to something that is more aggressive and controlled.

alarm

This is the kernel implementation to support Android's AlarmManager. It lets user space tell the kernel when it would like to wake up, allowing the kernel to schedule that appropriately and come back (holding a wake lock) when the time has expired regardless of the sleep state of the CPU.