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