gpt4 book ai didi

c++ - 需要帮助来选择实时操作系统和硬件

转载 作者:行者123 更新时间:2023-11-30 02:06:52 24 4
gpt4 key购买 nike

我听说过 Windows/Linux 操作系统机器不是实时的。我读过this article.它列出的 WindowsCE 是 RTOS 之一。这让我有些困惑,因为我一直认为 WindowsCE 适用于移动或嵌入式设备。

我需要一个 24/7 全天候运行的实时应用程序,并通过运行多种机器学习算法来处理来自每个快速移动物体的各种传感器信号到数据库和监控器。

什么是适合这种应用程序的实时硬件和操作系统?开发环境为 MFC 或 Qt C++。我真的需要经验丰富的开发人员的意见。谢谢

最佳答案

QNX过去对我很有帮助。我应该警告您,它仅用于培训目的(实时工业过程控制),而且我已经使用此操作系统实现了实时控制程序,但我从未真正部署过。

实时系统的第一条规则是指定您的实时约束,例如:

  1. 系统必须能够每分钟处理多达 600 个信号;或
  2. 系统每个信号花费的时间不得超过 1/10 秒。

差异很细微,但这些是不同的约束条件。

请记住,绝对没有办法决定任何硬件/操作系统/库组合是否对您足够好,除非您指定这些约束


For that, you think QNX might be proper? What would be its advantages over Windows/Linux systems with high priority setting?

如果您查看许多 POSIX 系统调用的 QNX 文档,您会注意到它们指定了额外的性能约束,这可能是保证实时约束所必需的。操作系统专为满足这些限制而设计。您不会在非正式 RTOS 的系统上获得此功能。如果你打算编写实时软件,我建议你买一本关于这个主题的好书。由于该主题非常敏感,因此有大量文献。

给自己找一本关于实时系统设计的好书,了解要问什么问题,然后阅读您将使用的每个产品的技术文档,看看它是否符合您的限制条件。在像 Qt 这样的软件库中要查看的示例是它们分配内存的时间。如果这没有在每个类接口(interface)中记录,则无法保证满足您的约束,因为存在隐藏的算法复杂性。


Development environment would be MFC or Qt C++.

我认为 Qt 可以在 QNX 上编译,但我不确定 Qt 是否提供了匹配您的实时约束所需的保证。抽象出太多东西的库是有风险的,因为很难确定它们是否满足您的要求。隐藏的内存管理通常是有问题的,但您还应该询问其他问题。


It seems to me that people say Real-time systems == embedded systems. Am I wrong?

实时系统绝对不等于“嵌入式系统”,虽然很多嵌入式系统都有实时性限制。

关于c++ - 需要帮助来选择实时操作系统和硬件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8458216/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com