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