Android’s Binder
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
Reference
- Kdbus Details
Greg Kroah-Hartman 寫的很好的一篇文章,簡單快速地說明 D-Bus 和 Binder 的不同
- D-Bus with Python
- Arch Packages - python-dbus
code last update : 2013 …
build a CFFI version ?
https://pypi.python.org/pypi?%3Aaction=search&term=dbus&submit=search