OpenBinder is a system for
inter-process communication. It was developed at
Be Inc. and then
Palm, Inc.
Palm, Inc. was an American company that specialized in manufacturing personal digital assistants (PDAs) and various other electronics. They were the designer of the PalmPilot, the first PDA successfully marketed worldwide, as well as the Treo 6 ...
and was the basis for the Binder framework now used in the
Android operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.
Time-sharing operating systems schedule tasks for efficient use of the system and may also i ...
developed by
Google
Google LLC () is an American Multinational corporation, multinational technology company focusing on Search Engine, search engine technology, online advertising, cloud computing, software, computer software, quantum computing, e-commerce, ar ...
.
OpenBinder allows
processes to present
interfaces which may be called by other
threads. Each process maintains a thread pool which may be used to service such requests. OpenBinder takes care of
reference counting,
recursion
Recursion (adjective: ''recursive'') occurs when a thing is defined in terms of itself or of its type. Recursion is used in a variety of disciplines ranging from linguistics to logic. The most common application of recursion is in mathemati ...
back into the original thread, and the inter-process communication itself. On the
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, w ...
version of OpenBinder, the communication is achieved using
ioctl
In computing, ioctl (an abbreviation of input/output control) is a system call for device-specific input/output operations and other operations which cannot be expressed by regular system calls. It takes a parameter specifying a request code; th ...
s on a given
file descriptor, communicating with a kernel
driver.
The
kernel
Kernel may refer to:
Computing
* Kernel (operating system), the central component of most operating systems
* Kernel (image processing), a matrix used for image convolution
* Compute kernel, in GPGPU programming
* Kernel method, in machine learn ...
-side component of the Linux version of OpenBinder was merged into the
Linux kernel mainline
The Linux kernel is a free and open-source, monolithic, modular, multitasking, Unix-like operating system kernel. It was originally authored in 1991 by Linus Torvalds for his i386-based PC, and it was soon adopted as the kernel for the GNU o ...
in kernel version 3.19, which was released on February 8, 2015.
References
{{Inter-process communication, state=collapsed
Inter-process communication