Android Binder

Binder is an Android-specific interprocess communication mechanism, and remote method invocation system.


 * That is, one Android process can call a routine in another Android process, using binder to indentify the method to invoke and pass the arguments between processes.
 * note that Android does NOT use SysV IPC for interprocess communication
 * A good overview of binder is in the presentation Inter-process method invocation in Android by Tetsuyuki Kobayashi
 * the binder implementation is in the kernel source at: drivers/misc/binder.c, with include file: include/linux/binder.h

History

 * 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.


 * The Linux version of Binder was originally derived from a project by PalmSource to implement a CORBA-like message-passing or method invocation system. Documentation on that system is at: http://www.angryredplanet.com/~hackbod/openbinder/docs/html/index.html