1

阅读有关 RTOS 的内容,“硬”RTOS 的特点是它可以确定性地保持截止日期,但我们如何测试或证明系统确实满足要求?

MicroC/OS II RTOS 的特点是硬 RTOS,但我如何验证该声明?如果我的 FPGA 有一些 C 代码和 ISR 可以运行 C 程序并在线程之间进行上下文切换,信号量类似于 RTOS,我怎么知道 OS / RTOS 是“硬”还是“软”RTOS?

它是否取决于应用程序,是否必须有一个定时器,因此使用带有硬件中断的内置硬件定时器(例如,Altera DE2 有一个 50 Mhz 振荡器)是首选,然后我们只是测试线程和进程是否可以根据截止日期,然后我们检查是否已达到截止日期?

或者是否有一些通用实践来区分操作系统、实时操作系统以及硬和软 RTOS 之间必须包含的内容?

是否有一些“典型测试”对标签“硬 RTOS”有典型要求?

4

1 回答 1

5

这个问题很难回答,因为你的前提是错误的。

分类为硬实时的系统与实时系统的区别仅在于错过最后期限的严重程度。在硬 RT 中,错过的最后期限被归类为系统故障,它可能会对硬件和人员造成伤害,也可能不会造成伤害,而软实时通常意味着错过的最后期限只会降低系统性能,但不会使其陷入停顿。

硬 RT 系统的一个典型示例是看门狗,它会在过热时关闭系统 - 如果它未能按时完成,系统就会中断。此外,发电厂或飞机中的一般安全相关系统也属于这一类。软 RT 示例是视频流,错过截止日期会导致视觉质量下降或卡顿,但不一定会导致系统故障。

长话短说,硬 RT 和软 RT 是完整软件系统的特征,由它们的规范和故障模型来衡量。因此,通常情况下,运行在操作系统上的应用程序符合硬/软 RT 标准,操作系统仅提供具有可预测时序行为的接口,从而允许应用程序进行时序假设。

于 2014-04-01T05:53:16.130 回答