Binder is bound to the CPU, D-Bus (and hence kdbus), is bound to RAM.
- Binder
- 會 block
- synchronous calling CPU
- 會直接把 CPU 執行權轉交給 callee (類似 system call 那樣)
- 過程中幾乎不會有 scheduling 發生
- 設計和 D-Bus 比起來比較不彈性,use-cases 也較受限,但可以執行非常快,overhead 非常低,適合手機這種 device
- D-Bus
- 用 RAM 來 queue 住訊息 (會照順序)
- asynchronous
- 運作方式為 create-store-forward
- Kdbus Details
- Greg Kroah-Hartman 寫的很好的一篇文章,簡單快速地說明 D-Bus 和 Binder 的不同
- The future that everyone forgot
- Wikipedia - Inter-process communication
- Wikipedia - OpenBinder
- Wikipedia - D-Bus
- The unveiling of kdbus
- Android Binder
- Wikipedia - User:ScotXW/kdbus
- D-Bus with Python
- DBusBindings
- Arch Packages - python-dbus
- code last update : 2013 ...
- build a CFFI version ?
- https://pypi.python.org/pypi?%3Aaction=search&term=dbus&submit=search