<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          互斥型信號量專

          作者: 時間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

          1.互斥型信號量(mutex)

          本文引用地址:http://www.ex-cimer.com/article/201609/304507.htm

          互斥型信號量具備uc/os-ii信號量的所有機(jī)制,但還具有其他一些特性。

          任務(wù)可利用互斥型信號量來實(shí)現(xiàn)對共享資源的獨(dú)占處理。

          Mutex是二值信號量,1表示資源是可以使用的。

          2.關(guān)于優(yōu)先級反轉(zhuǎn)(PIP)

          下面概述優(yōu)先級反轉(zhuǎn)原理:

          假設(shè)有三個任務(wù),分別命名為A,B,C;A的優(yōu)先級最高,C的優(yōu)先級最低。任務(wù)A和任務(wù)B處于掛起狀態(tài)(請注意這條件),等待某一事件的發(fā)生,任務(wù)C正在運(yùn)行。當(dāng)任務(wù)C等待到共享資源(命名為S1)并使用后,如果任務(wù)A等待得事件到來之后,由于A的優(yōu)先級最高,所以就會剝奪任務(wù)C的CPU使用權(quán)。運(yùn)行過程中,任務(wù)A也要使用資源S1,但S1的信號量還被任務(wù)C占用著,所有任務(wù)A只能進(jìn)入掛起狀態(tài),等待任務(wù)C對S1的信號量的釋放。此時任務(wù)C得以繼續(xù)運(yùn)行。

          同理,任務(wù)B的事件到來后,會剝奪任務(wù)C的CPU使用權(quán)。任務(wù)B把事情搞定以后,把CPU使用權(quán)歸還給任務(wù)B。任務(wù)B又得以繼續(xù)運(yùn)行,任務(wù)B認(rèn)真處理完畢資源S1后,終于可以釋放S1的信號量。而處于等待該信號量的任務(wù)A馬上得到信號量并開始處理共享資源S1。

          綜述上面情況,任務(wù)C和任務(wù)A的優(yōu)先級發(fā)生了反轉(zhuǎn)。而互斥型信號量就是具有解決優(yōu)先級反轉(zhuǎn)問題的特性。

          3.UC/OS-II的互斥型信號量由三個部分組成:

          ◆一個標(biāo)志,指示mutex是否可以使用(0或1)

          ◆一個優(yōu)先級,準(zhǔn)備一旦高優(yōu)先級的任務(wù)需要這個mutex,賦予給占有mutex的任務(wù)。

          ◆一個等待該mutex的任務(wù)列表。



          關(guān)鍵詞:

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();