Linux下多进程、多线程基础

版权声明:转载请注明原地址 https://blog.csdn.net/wb790238030/article/details/82781313

【学习Freeape大神的uORB时,乘机补补有关Linux多进程、多线程的知识】

uORB(Micro Object Request Broker,微对象请求代理器)是PX4/Pixhawk系统中非常重要且关键的一个模块,它肩负了整个系统的数据传输任务,所有的传感器数据、GPS、PPM信号等都要从芯片获取后通过uORB进行传输到各个模块进行计算处理。实际上uORB是一套跨进程的IPC通讯模块。在Pixhawk中, 所有的功能被独立以进程模块为单位进行实现并工作。而进程间的数据交互就由为重要,必须要能够符合实时、有序的特点。
  Pixhawk使用的是NuttX实时ARM系统,uORB实际上是多个进程打开同一个设备文件,进程间通过此文件节点进行数据交互和共享。进程通过命名的「总线」交换的消息称之为「主题」(topic),在Pixhawk 中,一个主题仅包含一种消息类型,通俗点就是数据类型。每个进程可以「订阅」或者「发布」主题,可以存在多个发布者,或者一个进程可以订阅多个主题,但是一条总线上始终只有一条消息。

主要参考这两篇文章:

1、https://blog.csdn.net/wallwind/article/details/6899330

Linux下的多进程编程初步

2、https://blog.csdn.net/wallwind/article/details/6899493

Linux下的多线程编程

猜你喜欢

转载自blog.csdn.net/wb790238030/article/details/82781313