目录
一、资源管理介绍
资源管理是用来协调有不同优先级的多个任务对共同资源(如内存或硬件等)的并发访问。资源管理可以选择性地被扩展任务和中断服务程序并发访问。
资源管理可以确保:
- 两个任务不能同时占用同一资源;
- 不会发生优先级反转;
- 在使用这些资源时不发生死锁;
- 对资源的访问从不会导致等待状态。
二、优先级反转
图1说明了两个任务对信号量的访问顺序。在完全抢占式调度系统里,任务 TaskI有最高优先级,低优先级任务Task4占有信号量 Sourcel。 Taskl抢占Task4并请求同一信号量。由于信号量 Sourcel已经被占领 Taskl进入等待状态。现在低优先级任务Task4被中断并被优先级在 TaskI和Task4之间的任务抢占,Task1只能在所有低优先级任务都终止,且信号量Sourcel再一次被释放后才能被执行虽然Task2和Task3