嵌入式操作系统中的抢占式调度策略
序来产生。对于后者,可以参看图1。图1显示了一个中断服务程序产生了一个高优先级任务正在等待的事件(从而唤醒该任务)。当然,可能该中断服务程序只是执行了一个时钟中断,而该高优先级任务只是等待计数器到达某一个数值。由于新的软件事件的到来,该高优先级任务将在下一次任务调度后投入运行。
可以采用不同方式,甚至随机地为任务设置优先级。然而,单调执行率算法(RAM)为我们提供了一个理想的方法来保证关键任务的时间期限总能得到满足。
3权衡
在使用抢占式调度策略的系统中,内存消耗主要包含系统调用函数额外的ROM和任务堆栈使用的RAM。另一个代价就是CPU时间的损耗。例如,调度策略会消耗处理器的时钟周期;上下文切换和时钟节拍会消耗相当一部分的CPU时间,特别是它们频繁发生的情况下。
当任务共享诸如全局变量、数据结构或外设控制以及状态寄存器等系统资源时,此时一个称为互斥的系统机制被用来避免对这些共享资源竞争。互斥机制是一个避免资源竞争的有效方法;但同时它会带来一个新的问题——优
先级反转。
在一些应用中,将系统分成一个个独立任务来设计,并使用抢占式的调度策略。这将简化系统设计,但这种方法的利弊是需要权衡的。我们只有充分考虑这些权衡条件,才能对该方法是否适合我们的应用做出正确的判断 《嵌入式操作系统中的抢占式调度策略(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/144786.html
可以采用不同方式,甚至随机地为任务设置优先级。然而,单调执行率算法(RAM)为我们提供了一个理想的方法来保证关键任务的时间期限总能得到满足。
3权衡
在使用抢占式调度策略的系统中,内存消耗主要包含系统调用函数额外的ROM和任务堆栈使用的RAM。另一个代价就是CPU时间的损耗。例如,调度策略会消耗处理器的时钟周期;上下文切换和时钟节拍会消耗相当一部分的CPU时间,特别是它们频繁发生的情况下。
当任务共享诸如全局变量、数据结构或外设控制以及状态寄存器等系统资源时,此时一个称为互斥的系统机制被用来避免对这些共享资源竞争。互斥机制是一个避免资源竞争的有效方法;但同时它会带来一个新的问题——优
先级反转。
在一些应用中,将系统分成一个个独立任务来设计,并使用抢占式的调度策略。这将简化系统设计,但这种方法的利弊是需要权衡的。我们只有充分考虑这些权衡条件,才能对该方法是否适合我们的应用做出正确的判断 《嵌入式操作系统中的抢占式调度策略(第2页)》