iceoryx源码阅读(一)——全局概览

news/发布时间2024/5/20 17:54:37

一、什么是iceoryx

iceoryx是一套基于共享内存实现的进程间通信组件。

二、源码结构

iceoryx源码包括若干工程,整理如下表所示:

image

下图展示了主要项目之间的依赖(FROM:iceoryx(冰羚)-Architecture):

image

三、iceoryx应用程序结构

iceoryx应用程序有三类进程,分别为Publisher、Subscriber和Roudi,如下图(极度简化且直觉):

image

其中,Publisher和Subscriber分别是发布者进程和订阅者进程,其职责是明确的,即发送和接收消息。Roudi是一个中心化的管理员进程,职责包括:

  • 进程管理,ProcessManager。

  • 共享内存创建、回收及管理结构的初始化,MemoryManager。

  • 服务发现,Service Discovery,即建立Publisher和Subscriber关联。

需要指出的是,共享内存中除了存放传输的消息,还需要存放共享内存管理相关的对象,这些对象也是多进程共享,具体有哪些对象将在后续逐步展开。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ulsteruni.cn/article/20853777.html

如若内容造成侵权/违法违规/事实不符,请联系编程大学网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

再探URLDNS链(手搓exp)

夜深了,想着还需要沉淀自己的基础能力,于是乎没有继续往CC链里爬,通过研究了一下ysoserial里的URLDNS链,决定自己尝试写一个类似却有些不同的exp,使自己的基础更加牢固一些,故有了今天这篇文章。 ysoserial里的URLDNS链我就不再多说,有兴趣的话自己可以去看下面这篇文章…

《编译原理》阅读笔记:p4-p17

《编译原理》学习第 2 天,p4-p17总结,总计 14 页。 一、技术总结 1.structure of compiler 编译器组成包括:Lexical Analyzer -> Syntax Analazer -> Semantic tree -> Intermediate Code Generator -> Machine-Independent Code Optimizer -> Code Genera…

Homework 7

1.尝试建模电梯的状态图2.学校规定:一个学生可选修多门课,一门课有若干学生选修; 一个教师可讲授多门课,一门课只有一个教师讲授; 一个学生选修一门课,仅有一个成绩。 学生的属性有学号、学生姓名;教师的属性有教师编号,教师姓名;课程的属性有课程号、课程名。 要求:根据…

团队作业4——项目冲刺 第3篇 Scrum 冲刺博客

这个作业属于哪个课程 软件工程这个作业要求在哪里 团队作业4——项目冲刺这个作业的目标 团队完成任务的分配,明确团队每个人在接下来七天敏捷冲刺的目标其他参考文献这个作业所属团队 SuperNewCode团队成员 张楠 曾琳备 黄铭涛 张小宇 周广1.每日举行站立时会议2.燃尽图3.每…

文件IO笔试题

文件IO 笔试题 作业:设计程序,获取当前系统时间,把时间转换为特定格式”yy年mm月dd日 星期x tt:mm:ss”,并每隔1s写入到本地磁盘中一个叫做log.txt的文本中,如果文本不存在则创建。 代码: /***************************************************************************…