嵌入式系统设计过程中任务优先级调度的策略

[复制链接]
查看1943 | 回复0 | 2011-9-7 22:58:27 | 显示全部楼层 |阅读模式
<




调度程序的功能是调度任务的执行顺序,非调度实体的存在却会导致调度程序的效率下降,为时限调度程序而设计的系统总是尽可能地减少非调度实体的数量以及这些实体所占用的CPU时间,本文介绍嵌入式系统设计过程中任务优先级调度的策略。

在过去的几年里,固定优先级调度技术的发展迅速。分时系统和一些实时系统,要求所有的任务要同时运行。它赋予每个任务一个有效的优先级,并且该优先级在任务等候执行的过程中逐步递增。最后每一个任务都将获得一个有效的优先级,该优先级将确保该任务至少会获得一个短暂的CPU执行时间。

一个高优先级的任务可能会发现自己正在等待一个低优先级的任务释放资源。这样将高优先级任务的有效优先级下降到了低优先级任务的有效优先级以下。这种技术可以实现,但是对于调试却是有害的。优先级继承以及优先级限制协议就是专为解决这样的问题而发明的。该技术推进了低优先级任务的优先级,与此同时保留了一定的资源确保高优先级的任务在需要时可以使用。

实际上,绝大多数的实时操作系统都采用静态优先级调度方式,本文介绍如何通过时限调度(deadline scheduling)来保证系统的实时性。

速率单调分析

速率单调性分析(rate monotonic analysis)证明,如果一个固定优先级抢占系统在执行的一系列彼此独立的周期性任务,那么不存在为周期性任务静态分配优先级的算法,而为这样的任务分配较短的时间来获得较高的优先级却更容易找到办法。

为此,人们研发了RMA调度,RMA的一个重要特征是可以分析系统的可实现性(feasibility)。采用RMA,结构设计人员可以收集系统的情况,然后分析系统的可实现性,从而获得
热帖推荐
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则