6

我正在寻找适合嵌入式 Linux 设备(Linux 和 uClinux)的良好开源消息总线。

它需要满足以下条件:

  • 由于 uClinux 仅支持静态链接,因此必须是自由软件和 LGPL 或更自由的许可证
  • 必须有 C API
  • 必须具有相对较小的占用空间,并且不依赖于第三方库
  • 必须兼容 Linux/uClinux 2.4.22+
  • 应该经过良好的测试,最好有一个现有的测试框架设置
  • 应该有一个有据可查的协议
  • 应该可以移植到其他平台

消息总线主要由我们系统上的应用程序使用,以传达配置参数等,因此它不需要满足实时要求。

4

4 回答 4

8

D-Bus。它在用户空间中运行。虽然它通常需要一个守护进程(但也许你可以让进程专门相互连接,而不是通过中央守护进程)。

于 2008-11-21T15:33:54.460 回答
5

这完全取决于您的架构。您是否打算通过背板向集群中的其他节点发送消息,或者这一切都在单个节点中,但在不同的地址空间中?

如果是后者,那么就像卡森说的:man mq_overview

如果是前者,那么首先看看您的嵌入式 linux 供应商。许多供应商将提供某种分布式消息传递库。如果做不到这一点,请查看0MQMPICH2 MPI库。

更新:我也应该补充一点,我去年的大部分时间都花在为分布式处理框架编写这样的 API 上,我可以告诉你 POSIX 兼容性值得保留。尽可能使用 POSIX 消息队列。

于 2008-11-21T15:00:12.703 回答
1

这听起来很适合SYSV 或 POSIX 消息队列。它们可以满足您列出的所有需求。POSIX 较新,因此它们不符合内核要求,但 SYSV 位于较旧的内核中。

于 2008-11-21T14:53:37.380 回答
1

如果你的意思是 IPC,socket 对 uclinux 工作得很好。

于 2008-11-23T09:30:46.377 回答