| |
最新电子论文 |
|
推荐电子论文 |
|
|
|
| ■ 所在位置:首页>>电子技术>>电子应用>>正文 |
| |
嵌入式系统设计过程中任务优先级调度的策略
|
|
非周期性任务
调度程序的功能是调度一切任务,但是也有例外,像中断服务、DMA以及某些任务由于某些原因必须调度比原定执行序列更高的优先级,因而破坏原有的执行顺序。这些都称之为非调度的实体,且在时限调度程序中是最不受欢迎的。一些分析技术允许非调度实体的存在,但是却会导致调度程序的效率下降。为时限调度程序而设计的系统总是尽可能地减少非调度实体的数量以及这些实体所占用的CPU时间。
非周期性任务对动态优先级调度程序来说是一个挑战。1. 可实现性分析通常是一个必不可少的任务。如果系统需要尽可能地满足时限的要求,那么可实现性分析就不适合。2. 如果一个事件已经到达,而这时可实现性分析的结果表明不应该为这个任务提供服务。3. 非周期性事件的负载通常都描述为一种统计分布。
非周期任务/事件可以使用比动态优先级任务更高的优先级来调度。这种方法有效的前提是非周期性事件需要硬实时服务并且周期性事件相对来说是软实时。主要的问题是调度程序必须将所有的非周期性活动视为不可调度的实体,这样就使得在调度周期性任务时效率低下,这是因为存在大量不可调度的任务的缘故。
经由动态优先级调度程序调度的周期性服务器能够为非周期性事件提供服务。这种方法将非周期性事件置于调度程序的控制之下。为了使得这种方法切实可行,调度问题专家进行了充分的研究。问题在于:如何给非周期性事件提供较快的反应时间而不会为此而占用太多处理器时间。为了给非周期性事件提供与优先级调度系统中近乎一样的反应时间,服务器必须具有很短的调度周期。为了处理某一瞬间同时到达的非周期性事件的峰值负载,服务器为此而付出的代价就会很高,所以有时需要占用所有的处理器时间来处理这些非周期性的事件。
如果可以将非周期性事件分类为软实时,那么调度程序就可以更好地处理这些非周期性事件。这是符合实际情况的。比如,键盘输入可能希望在1/10秒的时间内得到响应,但是如果碰巧某一次的键盘响应时间是2/10秒问题也不会太大,所以非周期性服务器在每一个周期可以保留比平均资源开销略微多一点的系统资源而不是占用最大的系统资源[2]。
本文总结
本文讨论的问题具备一定的前瞻性。也许今天还不需要动态优先级调度这样的技术和工具,但是其发展潜力巨大,尤其在实时设计方面 本新闻共 3页,当前在第 3页 [1] [ 2] [ 3] |
|
| |
|
|
相关文章 |
|
|
|
|