c语言 - 什么是保持截止日期的良好系统测试?



阅读RTOS,"硬"RTOS的特征是它可以确定地保持最后期限,但是我们如何测试或证明系统实际上满足要求?

MicroC/OS II RTOS 的特点是硬性 RTOS,但我如何验证这一说法?如果我的 FPGA 有一些 C 代码和 ISR,可以运行 C 程序并在具有信号量的线程之间进行上下文切换,类似于 RTOS 的功能,我怎么知道操作系统/实时操作系统是"硬"还是"软"实时操作系统?

它是否取决于应用程序并且必须具有计时器,因此最好使用带有硬件中断的内置硬件计时器(例如 Altera DE2 具有 50 Mhz 振荡器),然后我们只测试线程和进程是否可以根据截止日期进行调度,然后检查是否满足截止日期?

或者,对于必须包含哪些内容才能区分操作系统、实时操作系统以及硬 RTOS 和软 RTOS,是否有一些通用做法?

是否有一些"典型测试"对

"硬RTOS"标签有典型要求?

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

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

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

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

相关内容

  • 没有找到相关文章

最新更新