Eclipse iceoryx™ - 真正的零拷贝进程间通信
最佳答案 问答题库668位专家为你答疑解惑
1 序言
通过一个快速的背景教程,介绍项目范围和安装所需的所有内容以及第一个运行示例。
首先:什么是冰羚?
iceoryx是一个用于各种操作系统的进程间通信(IPC)中间件(目前我们支持Linux、macOS、QNX、FreeBSD和Windows 10)。它起源于汽车行业,在汽车行业,当涉及到驾驶员辅助或自动驾驶系统时,必须在不同的进程之间传输大量数据。然而,高效的通信机制也可以应用于更广泛的用例,例如在机器人或游戏开发领域。
iceoryx使用一种真正的零拷贝共享内存方法,允许在没有单个拷贝的情况下将数据从发布者传输到订阅者。这确保了数据传输具有恒定的延迟constant latency,而不管有效负载的大小。有关更多信息,请查看1000字的iceoryx简介。
中间件是一个混乱的术语,可能是全部,也可能什么都没有。为了更好地了解这对iceoryx意味着什么,请看看我们的目标和非目标。
将非类型化的C++和C API想象成一个“管道”(“管道”在Git中定义,意思是低级)。我们自己并不使用“管道”API,而是使用类型化的C++API。通常的使用情况是,iceoryx作为高性能IPC传输层集成在一个更大的框架中,并具有额外的API层。这种“美瓷”API的一个例子是ROS 2。
您可以在上找到完整的API文档🌐 https://iceoryx.io.
2 支持的平台
自定义iceoryx平台文章中描述了对新平台的修改或添加。
Operating System
操作系统
Compiler
编译器
supports access rights for shared memory
支持共享内存的访问权限
command line parsing
命令行解析
Linux
gcc/clang
yes
yes
QNX
gcc
yes
yes
MacOS
clang
no, not planned for implementation
yes
Windows 10
msvc
no, not planned for implementation
will be implemented
FreeBSD (Unix)
clang
no, not planned for implementation
yes
一般来说,unix平台应该使用iceoryx,但我们只在CI上测试FreeBSD。
3 Eclipse iceoryx在哪里使用?
Framework
Description
ROS 2
Eclipse iceoryx can be used inside the Robot Operating System with rmw_iceoryx
Eclipse eCAL
Open-source framework from Continental AG supporting pub/sub and various message protocols
RTA-VRTE
AUTOSAR Adaptive Platform software framework for vehicle computer from ETAS GmbH
Cyclone DDS
Performant and robust open-source DDS implementation maintained by ZettaScale Technology
Apex.Ida from Apex.AI
Safe and certified middleware for autonomous mobility systems from Apex.AI
AVIN AGNOSAR Adaptive Platform
AUTOSAR Adaptive Platform Product from AVIN Systems
4 编译和安装
您可以在此处找到构建和安装指南。
5 例子
在你构建了所有必要的东西之后,你可以继续使用这些例子。
6 在Docker环境中构建和运行
如果你想避免在主机上安装任何东西,但你已经安装了Docker,那么可以使用它来构建和运行iceoryx应用程序。
有关如何做到这一点的信息,请参阅专用的README.md。
7 质量水平和平台
质量级别为5到1+,其中1+是最高级别。
请参阅质量声明,了解根据ROS 2指南的质量措施的详细信息。
CMake project/target
Current Level
Target Level QNX
Target Level
Linux, Windows, macOS
iceoryx_hoofs
2
1+
1
iceoryx_posh
2
1+, 2
1
iceoryx_dust
2
2
2
iceoryx_binding_c
2
2
2
iceoryx_examples
5
4
4
iceoryx_introspection
5
4
4
iceoryx_meta
5
5
5
7 计划中的功能
了解PLANNED_features.md中即将推出的功能和项目范围。
8 iceoryx实现的绑定和创新
Name
Description
Technologies
iceoryx-rs
Rust binding for iceoryx
Rust
iceoryx-automotive-soa
Binding for automotive frameworks like AUTOSAR Adaptive ara::com
C++
iceoryx-gateway-dds
Gateway for Cyclone DDS
DDS
iceray
An iceoryx introspection client written in Rust
Rust
Larry.Robotics
An iceoryx demonstrator for tinker, thinker and toddler
Demonstrator
99%的人还看了
相似问题
猜你感兴趣
版权申明
本文"Eclipse iceoryx™ - 真正的零拷贝进程间通信":http://eshow365.cn/6-18473-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!