【发布时间】:2016-01-16 17:32:49
【问题描述】:
我还没有找到足够具体、有意义的 RTOS 定义。我能找到的最好的是在 wiki 上:
https://en.wikipedia.org/wiki/Real-time_operating_system
但是我有一些关键的 cmets/问题:
- 我发现的所有 RTOS 定义中似乎都未定义“实时”。没有什么比实际实时快(无限小!)。因此,我相信“实时”只有在观察者的情况下才有意义。使用 iPhone 用户的人的实时时间可能小于 20 毫秒,因为人眼无法比这更快地检测到变化。对于安全气囊部署,它可能小于 1 毫秒。互联网上的所有定义似乎都掩盖了“实时”的定义!
- 如果 RTOS 是由在特定时间范围(“截止日期”)内执行某事的要求定义的,为什么定义中会出现抖动?如果 iPhone 响应在 12-14ms 之间抖动,是不是不再实时响应了?它满足20ms的要求,对吧?如果有一次响应达到 100 毫秒,用户可能会注意到,此时系统不是 RTOS
- 怎么可能有“软”RTOS?! RTOS 的定义是满足特定的截止时间要求。如果它不满足它,那么它就不是 RTOS! RTOS 的定义本身就禁止“软”RTOS
在我看来,RTOS 似乎没有正式和精确的定义。这是一个通用术语,用于解释操作系统的特征,其主要优先级是对特定类型的观察者呈现“实时”(按要求编号)。似乎这个名称也具有实现含义,例如事物的处理方式、多任务处理、消息传递、信号量等......如果系统无法在内部响应,所有这些都可能根本不是 RTOS 的一部分“截止日期”要求,对吧?
对于这样一个无处不在的问题,我感到很抱歉,但我无法在我的脑海中得到一个清晰的画面。我发现的所有定义都不够精确,或者将定义与实现细节混为一谈。
【问题讨论】:
-
据我所知,没有定义 RTOS 确切含义的标准机构,因此该术语定义不明确,就像“PC”或“汽车”等术语一样。除此之外的任何答案都必须主要基于意见。
-
虽然是的,但这是一个绝妙的问题,我有兴趣阅读所提供的答案。不幸的是,这样的问题不适合 stackoverflow,因为它没有编程问题,只有理论场景具有非优化的代码/服务器性能。像这样的问题最适合 superuser.com
-
@DarylGill:“非优化代码”实际上对于实时代码来说相当普遍。那是因为您非常喜欢保证性能而不是平均性能。 10-12 毫秒优于 1-13 毫秒,在实时代码中,即使 11 > 7。
标签: rtos