加载中...

D-Bus 与 Binder 是构建在内核原语之上的高级进程间通信机制:D-Bus 是 freedesktop.org 制定的消息总线,服务于 Linux 桌面与系统服务;Binder 是 Android 的核心 IPC 驱动,支撑其整个框架层。
D-Bus 提供系统总线与会话总线,进程以众所周知的名字注册服务,通过方法调用、信号广播与属性访问交互,并支持按名称激活服务。systemd、NetworkManager、桌面环境间的联动都经由 D-Bus。传统实现由用户态守护进程转发消息。
Binder 源自 BeOS 的 OpenBinder,以内核驱动实现面向对象的远程调用:数据仅需一次拷贝,内核直接完成句柄传递与引用计数,并可获取调用方 UID/PID 用于权限校验。Android 的 Activity 管理、服务调用等几乎所有跨进程交互都通过 Binder(AIDL 定义接口)。
两者都提供"对象/接口"级抽象;Binder 性能与安全模型更适合移动端高频调用,D-Bus 则以松耦合与通用性见长。

登录 后参与讨论
暂无讨论,来发表第一条评论吧