OpenBinder

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

OpenBinder
DeveloperGoogle
Stable release
1.0
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Written inC
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemCross-platform
    TypeInter-process communication
    LicenseMozilla Public License
    Websitewww.angryredplanet.com/~hackbod/openbinder/docs/html/

    Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal'). OpenBinder is a system for inter-process communication.[1] It was developed at Be Inc. and then Palm, Inc.[2] and was the basis for the Binder framework[3] now used in the Android operating system developed by Google.[4]

    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 back into the original thread, and the inter-process communication itself. On the Linux version of OpenBinder, the communication is achieved using ioctls on a given file descriptor, communicating with a kernel driver.

    The kernel-side component of the Linux version of OpenBinder was merged into the Linux kernel mainline in kernel version 3.19, which was released on February 8, 2015.[5]

    References

    [edit | edit source]
    1. ^ OpenBinder website
    2. ^ Eugenia Loli-Queru, Introduction to OpenBinder and Interview with Dianne Hackborn, OSNews, 14 February 2006.
    3. ^ Aleksandar Gargenta, Deep Dive into Android IPC/Binder Framework, What is Binder?, 17 February 2013
    4. ^ Ben Leslie, Android: strace runtime Archived December 1, 2007, at the Wayback Machine, Benno’s website, 18 November 2007.
    5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).