1.互斥型信号量(mutex)
互斥型信号量具有uc/os-ii信号量的一切机制,但还具有其他一些特性。
使命可利用互斥型信号量来完成对共享资源的独占处理。
Mutex是二值信号量,1表明资源是能够运用的。
2.关于优先级回转(PIP)
下面概述优先级回转原理:
假设有三个使命,别离命名为A,B,C;A的优先级最高,C的优先级最低。使命A和使命B处于挂起状况(请注意这条件),等候某一工作的产生,使命C正在运转。当使命C等候到共享资源(命名为S1)并运用后,假如使命A等候得工作到来之后,因为A的优先级最高,所以就会掠夺使命C的CPU运用权。运转过程中,使命A也要运用资源S1,但S1的信号量还被使命C占用着,一切使命A只能进入挂起状况,等候使命C对S1的信号量的开释。此刻使命C得以持续运转。
同理,使命B的工作到来后,会掠夺使命C的CPU运用权。使命B把工作搞定今后,把CPU运用权归还给使命B。使命B又得以持续运转,使命B仔细处理完毕资源S1后,总算能够开释S1的信号量。而处于等候该信号量的使命A立刻得到信号量并开端处理共享资源S1。
总述上面状况,使命C和使命A的优先级产生了回转。而互斥型信号量便是具有处理优先级回转问题的特性。
3.UC/OS-II的互斥型信号量由三个部分组成:
◆一个标志,指示mutex是否能够运用(0或1)
◆一个优先级,预备一旦高优先级的使命需求这个mutex,赋予给占有mutex的使命。
◆一个等候该mutex的使命列表。