小编Sys*_*der的帖子

如果硬实时任务超过其截止日期会发生什么?

我想通过使用 RTOS 更具体地了解硬实时系统背后的概念。根据 RTOS 的定义,它保证实时任务永远不会超过其最后期限。

void RT_task1(void *params)
{
    do_inits();
    while (true)
    {
         ... // Do the job whatever it is in realtime.
         Delay(20); // Wait for 20 ms.
    }
 }
Run Code Online (Sandbox Code Playgroud)

这是 RTOS 中基于任务的实时系统的简单结构。在这一点上,我想知道这些问题;

1)此代码块中 RTOS 定义中提到的“DEADLINE”是什么。是“Delay”时间20 ms还是“Do Job”部分确定的其他时间?

2) 如果超过期限会怎样?我知道它是由 RTOS 保证的,但在“假设情况”下:我们是否定义了灾难性错误过程?

3)RTOS如何保证工期?我的意思是,我可以运行大量 RT 任务,因此 CPU 资源可能不够,或者编程错误的任务比其他 RT 任务消耗了太多时间?“保证”部分在哪里?

我知道 RTOS 和传统操作系统之间的主要区别在于调度程序。RTOS采用确定性的方式为用户提供调度保证。然而,这些信息并不能完全满足我对整个系统的理解。

谢谢。

embedded rtos scheduler task

5
推荐指数
1
解决办法
3967
查看次数

标签 统计

embedded ×1

rtos ×1

scheduler ×1

task ×1