阅读RTOS," hard" RTOS是它可以确定性地限制截止日期,但我们如何测试或证明系统实际满足要求?
MicroC / OS II RTOS的特点是硬RTOS,但我该如何验证该声明?如果我的FPGA有一些C代码和ISR可以运行C程序并在具有类似于RTOS的信号量的线程之间进行上下文切换,那么我怎么知道OS / RTOS是否是"硬"或"软" RTOS?
是否可以依赖于应用程序,并且必须有定时器,因此使用内置硬件定时器(例如Altera DE2具有50 Mhz振荡器),首选硬件中断,然后我们只测试线程和进程是否可以根据截止日期安排,然后我们检查是否符合截止日期?
或者,为了区分操作系统,实时操作系统以及硬和软RTOS,必须包含哪些内容?
是否有一些"典型的测试"对标签的典型要求"硬RTOS" ?
答案 0 :(得分:5)
很难回答这个问题,因为你的前提是错误的。
分类为 hard 实时的系统仅通过错过截止日期的严重性与 soft 实时系统区分开来。在硬RT中,错过的最后期限被归类为系统故障,这可能会或可能不会对硬件和人员造成伤害,而软实时通常意味着错过的最后期限只会降低系统性能,但不会使其停止运行。
硬RT系统的一个典型示例是监视器关闭系统过热 - 如果它无法满足其截止日期,系统就会中断。此外,发电厂或飞机中的一般安全相关系统也属于这一类。 Soft RT示例将是视频流,其中错过的截止日期会导致视觉质量下降或口吃,但不一定会导致系统故障。
长话短,硬和软RT是完整软件系统的特征,通过其规格和故障模型来衡量。通常情况下,操作系统上运行的应用程序符合硬/软RT标准,操作系统仅提供具有可预测时序行为的接口,允许应用程序进行时序假设。