_嵌入式系统基础.ppt

_嵌入式系统基础

基于优先级的调度算法——抢占式调度 优先级 反转问题 解决优先级反转问题的方法: 优先级继承(Priority Inheritance) 优先级封顶(Priority Ceiling) 优先级继承 设C为正占用着某项共享资源的进程P以及所有正在等待占用此项资源的进程的集合。 找出这个集合中的优先级最高者P_h,其优先级为p’。 把进程P的优先级设置成p’。 优先级继承通过提高任务3的优先级达到与任务1相同的优先级,来避免优先级反转问题的出现。 使用优先级继承后任务的运行流程 基于优先级的调度算法——抢占式调度 优先级封顶 设C为所有可能竞争使用某项共享资源的进程的集合。事先为这个集合规定一个优先级上限p’,使得这个集合中所有进程的优先级都小于p’。注意p’并不一定是整个系统中的最高优先级。 在创建保护该项资源的信号量或互斥量时,将p’作为一个参数。 每当有进程通过这个信号量或互斥量取得对共享资源的独占使用权时,就将此进程的优先级暂时提高到p’,一直到释放该项资源的时候才恢复其原有的优先级。 使用优先级封顶后任务的运行流程 优先级继承和优先级封顶的比较 基于优先级的调度算法——抢占式调度 两种算法都改变了任务3的优先级,但改变优先级的时间和改变的范围有所不同。 优先级继承只在占有资源的低优先级任务阻塞了高优先级的任务运行时,才动态更改低优

文档评论(0)

1亿VIP精品文档

相关文档