D-Bus

D-Bus概述

D-Bus是一个用于进程间通信的系统组件。由以下几个部分组成:

  • libdbus:一个允许两个应用之间连接和交换消息的库;

  • message bus daemon executable:基于 libdbus 构建,多个应用程序可以连接到这个守护进程上。这个守护进程可以将一个应用的消息路由到零个或多个应用。

  • Wrapper libraries or bindings based on particular application frameworks:例如 libdbus-glib、libdbus-qt、基于Python的绑定库.。封装库简化了D-Bus的编程使用。

libdbus 只支持一对一的连接,就像网络通信中的socket。然而不一样的是,使用D-Bus的连接不是用于发送字节流,而是用于发送消息。消息有两部分组成:消息头、消息体。消息头用于标识消息类型,消息体才是要传递的数据内容。 libdbus对发送和认证过程进行了抽象,用户不需要关心这些内容。

守护进程的作用可以简单的理解为路由器。一个应用先发送消息到守护进程,然后有守护进程转发到合适的应用上。在典型计算机上有多个守护进程实例。系统范围和每个用户的守护进程是分开的。第一个实例是机器全局的,类似于sendmail或Apache的系统守护进程。此实例对其将接受的消息有严格的安全限制,并用于系统范围的通信。每个用户登录会话创建一个其他实例。这些实例允许用户会话中的应用程序彼此通信。

 整体架构

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值