在工作中,我们正在讨论一个新平台的设计,其中一位高层管理人员说它需要运行我们当前的代码库(Linux 上的 C),但需要实时,因为它需要在不到一秒的时间内响应各种输入. 我指出:
- 这并不意味着它需要“实时”,只是它需要更快的时钟和更精简的中断处理
- 要考虑的关键点之一是正在使用的操作系统。他们想坚持使用嵌入式 Linux,我指出我们需要一个 RTOS。由于内核/用户空间内存分裂,使用 Linux 将阻止“实时”,因此 I/O 是通过文件和套接字完成的,这会引入延迟
- 我们真正需要确定的是它是否需要确定性(例如,需要在 90% 的时间内在 <200 毫秒内响应输入)。
在我看来,如果第 3 点是真的,那么它需要是一个实时系统,然后第 2 点是最大的考虑因素。
我有信心回答,但后来我在想……别人怎么看?我是在正确的轨道上还是我错过了什么?
“实时”系统和“确定性”系统之间有什么区别吗?除了 RTC 和 RTOS,我还缺少执行真正实时系统所需的任何主要内容吗?
期待一些伟大的回应!
编辑:
到目前为止得到了一些很好的回应,看起来对我的系统和要求有点好奇,所以我会为感兴趣的人添加一些注释:
- 我的公司卖几千的单位,所以我不想在价格上过分杀戮
- 通常我们出售主处理器板和独立显示器。还有其他 CAN 设备的附加网络。
- 该板(当前)运行设备,还充当网络服务器,将基本 XML 文档发送到最终用户的显示器
管理人员希望“快速”(<1s)更新显示器的要求出现在这里,但真正的限制来自于可以通过 CAN 连接的设备。这些设备通常是电机控制设备,其要求包括“必须在 200 毫秒内做出响应”。