3 ms·
What does this binder thing even do? I get it's an IPC something, but why does android need it's own special kernel-level IPC?
by Muromec 2y ago
What does this binder thing even do? I get it's an IPC something, but why does android need it's own special kernel-level IPC?
- teraflop 2y agoThere's some general information about it here: https://elinux.org/Android_Binder https://elinux.org/Android_Binder A binder transaction behaves sort of like a syscall, in the sense that a client process can immediately, synchronously transfer control to a server thread, rather than just enqueueing a message to be processed whenever the server gets around to it. This enables Android to separate many of its components into different processes (at different privilege levels), and use binder for RPCs that are on the "critical path" for user interaction, without incurring impractical amounts of overhead or latency.
- esprehn 2y agoWikipedia has a good explanation of Binder and the history which goes way back to Be OS. https://en.wikipedia.org/wiki/OpenBinder https://en.wikipedia.org/wiki/OpenBinder It's more like a micro services framework that abstracts threads and processes. Fuchsia takes the approach to the conclusion and powers the entire OS through a similar system: https://fuchsia.dev/fuchsia-src/concepts/fidl/overview https://fuchsia.dev/fuchsia-src/concepts/fidl/overview