在《关于实时》里,我们提到了:
这个限定时间超时后,所需的工作如果没有完成,那根据这个后果的严重程度,又可以分为硬实时和软实时。
这里的“硬”系统还是“软”系统更偏向于说的是整个系统,即利用合适的硬件和RTOS,再加上相应的应用程序,而形成的完整的嵌入式设备。
硬实时系统要求在规定时间内必须完成规定的任务,而软实时可以接受一定几率或程度的延误。
为了实现这样的系统需求,就需要选用合适的RTOS。子曰:工欲善其事,必先利其器。
但实时性高的RTOS只是硬实时系统的一个必要条件,不是充分条件。
还需要性能足够的硬件、高效的中间件、合理的上层应用等因素。
再加上优秀的开发人员、管理人员、维护人员等等。
假设有这样一个导弹防御系统的需求:敌方导弹最快2t时间到达我方阵地,我方的地空导弹防御系统,需要在时间t内将其拦截。
产品A有80%的几率在t内拦截成功,有20%的几率在1.5t内拦截成功。
产品B有90%的几率在t内拦截成功,有10%的几率拦截时间达到2t。
因此就可以说B不是硬实时系统,因为它有一定几率出现致命后果。
A是硬实时系统,但实时性还有很大的提升空间。
可以考虑提升其硬件处理能力、缩短其OS响应时间、改进其应用的算法逻辑等等。当各个因素都已经达到瓶颈时,也许还可以通过多套设备组合拦截的方案来提升拦截成功率。可以看到硬实时是一个全方位的概念,正如龚自珍的《自春徂秋偶有所感触》:一发不可牵,牵之动全身。
但无论如何,有了合适的RTOS,就有了一个好的开始。
曹雪芹借薛宝钗之口说过:好风凭借力,送我上青云!
希望你我好好锻炼身体,当大风(Tornado ^_^)来的时候,大鹏一日同风起,扶摇直上九万里!