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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式微內(nèi)核實(shí)時(shí)操作系統(tǒng)分析與測(cè)試

          嵌入式微內(nèi)核實(shí)時(shí)操作系統(tǒng)分析與測(cè)試

          作者: 時(shí)間:2004-12-09 來源:網(wǎng)絡(luò) 收藏
          摘要:介紹的體系結(jié)構(gòu);針對(duì)Wolf,設(shè)計(jì)一套微實(shí)現(xiàn)方案。在Wolf操作系統(tǒng)支持下,已產(chǎn)業(yè)化的閱讀不耗電電子書(eBook)驗(yàn)證了Wolf操作系統(tǒng)的可靠性。

          關(guān)鍵詞:嵌入式操作系統(tǒng)ERTOS Wolf 軟件 eBook

          1 嵌入式操作系統(tǒng)概述

          嵌入式實(shí)時(shí)操作系統(tǒng)(ERTOS)是操作系統(tǒng)研究的一個(gè)重要分支,它與一般商用多任務(wù)OS,如UNIX,Windows等,最大的不同之處在于:商用多任務(wù)OS的目的是追求系統(tǒng)資源最大利用率和公平對(duì)待所有的系統(tǒng)請(qǐng)求;而ERTPS追求的是實(shí)時(shí)性、可確定性、可靠性。

          自20世紀(jì)90年代以來,ERTOS發(fā)展迅速。國(guó)外著名商用EPTOS有:Wind River公司的VxWorks、IS(Integrated Systems)公司(2000年已被Wind River公司合并)的pSOS、AC(Accelerated Technology)公司的Nucleus等等。國(guó)外ERTOS很多,大多是針對(duì)不同應(yīng)用的專用ERTOS或通用ERTOS。

          與傳統(tǒng)的嵌入式系統(tǒng)軟件開發(fā)模式相比,雖然ERTOS會(huì)要求一些額外的開銷,但可以由現(xiàn)代微控制器的高速度、大存儲(chǔ)器以及產(chǎn)品提前進(jìn)入市場(chǎng)的優(yōu)勢(shì)來彌補(bǔ)。優(yōu)秀的ERTOS可以對(duì)幾十個(gè)系列的嵌入式處理器MPU、微控制器MCU提供API接口。在此基礎(chǔ)上,可以編定出各川硬件驅(qū)動(dòng)程序、產(chǎn)品庫(kù)函數(shù),與通用性的應(yīng)用程序一起作為產(chǎn)品銷售。

          2 ERTOS――Wolf

          嵌入式實(shí)時(shí)操作系統(tǒng)產(chǎn)品Wolf(南開津科ERTOS)是一個(gè)開放式的微內(nèi)核實(shí)時(shí)操作系統(tǒng)。其基本設(shè)計(jì)思想是:

          *低功耗(具有間歇式工作機(jī)制,支持哈偶結(jié)構(gòu));

          *支持尖端智能輸入/輸出設(shè)備;

          *支持微型大容量存儲(chǔ)卡(SM卡、SD卡等);

          *本質(zhì)安全,支持信息版權(quán)及安全保護(hù);

          *為第三方提供產(chǎn)品級(jí)的SDK。

          具有以下特點(diǎn):

          *微內(nèi)核結(jié)構(gòu);

          *支持多種CPU產(chǎn)品;

          *基于優(yōu)先級(jí)的搶占式調(diào)度和輪轉(zhuǎn)調(diào)度相結(jié)合的多任務(wù)調(diào)度;

          *極小的內(nèi)存開銷;

          *高可用性、可靠性。

          2.1 微內(nèi)核體系結(jié)構(gòu)

          微內(nèi)核體系結(jié)構(gòu)是相對(duì)層次內(nèi)核體系結(jié)構(gòu)而言的。層次操作系統(tǒng)體系結(jié)構(gòu)如圖1(a)所示,大部分或全部層次功能由內(nèi)核實(shí)現(xiàn),所有的接口功能只與相鄰層有關(guān),系統(tǒng)和應(yīng)用獨(dú)立,但其每一功能層的變化都會(huì)影響整個(gè)系統(tǒng),層間安全性低。微內(nèi)核體系結(jié)構(gòu)如圖1(b)所示,其基本思想是將原來屬于傳統(tǒng)如圖1(b)所示,其基本思想是將原來屬于傳統(tǒng)操作系統(tǒng)內(nèi)核的一些功能和服務(wù)從內(nèi)核中分出,以子系統(tǒng)(組件)的形式與內(nèi)核或其它子系統(tǒng)相互作用。組件功能以服務(wù)進(jìn)程的方式通過消息與微內(nèi)核和其它組件相互通信來完成。微內(nèi)核的主要功能就是消息交換:確認(rèn)消息、在組件間傳送消息及準(zhǔn)許對(duì)硬件操作。微內(nèi)核結(jié)構(gòu)的主要優(yōu)點(diǎn)是:系統(tǒng)具有統(tǒng)一的接口,擴(kuò)展性、可靠性及支持分布式系統(tǒng)。

          Wolf是一個(gè)具有微內(nèi)核結(jié)構(gòu)的嵌入式操作系統(tǒng),它由一個(gè)實(shí)時(shí)多任務(wù)內(nèi)核和多個(gè)組件的集合組成。軟件組件都是獨(dú)立的標(biāo)準(zhǔn)構(gòu)件塊,可以不用變更地從一個(gè)應(yīng)用程序移到另一個(gè)應(yīng)用程序。Wolf體系結(jié)構(gòu)如圖2所示。

          2.2 微內(nèi)核剖析

          Wolf多任務(wù)調(diào)度是動(dòng)態(tài)基于消息觸發(fā)調(diào)度機(jī)制,任務(wù)切換由臨時(shí)事件驅(qū)動(dòng),任務(wù)間是內(nèi)部同步,不同的任務(wù)能夠異步招待。Wolf內(nèi)核負(fù)責(zé)維護(hù)系統(tǒng)中的所有任務(wù)的當(dāng)前狀態(tài),所有任務(wù)具有以下四種狀態(tài)之一:

          *就緒態(tài)(Ready),縮寫為R。一個(gè)就緒態(tài)任務(wù)是可運(yùn)行的,等待高優(yōu)先級(jí)的任務(wù)釋放CPU。

          *運(yùn)行態(tài)(Run),縮寫為E。一個(gè)運(yùn)行態(tài)的任務(wù)是一個(gè)正在使用CPU的就緒任務(wù)。任何時(shí)刻有且只有一個(gè)運(yùn)行著的任務(wù)。

          *阻塞態(tài)(Blocked),縮寫為B。一個(gè)任務(wù)被阻塞是由于任務(wù)自身的多個(gè)活動(dòng)的必要手段。一個(gè)任務(wù)不能從就緒態(tài)到阻塞態(tài)。

          *刮起態(tài)(Suspend)。一個(gè)掛起態(tài)的任務(wù)不能執(zhí)行,主要用于調(diào)試。

          *任務(wù)調(diào)試程序維護(hù)1個(gè)或多個(gè)跟蹤每個(gè)任務(wù)狀態(tài)的內(nèi)部列表。它有一個(gè)就緒列表和每個(gè)(任務(wù)正在等待的)同步對(duì)象的一個(gè)單獨(dú)受阻列表。就緒隊(duì)列前頭的任務(wù)是下一個(gè)要運(yùn)行的任務(wù)。在受阻列表中的任何任務(wù)都被掛起,每當(dāng)受阻列表中的一個(gè)任務(wù)等待的事情發(fā)生時(shí),該任務(wù)就從受阻列表中被刪除,并被放到就緒列表中等待執(zhí)行、如圖3所示。

          (1)多任務(wù)調(diào)度

          任務(wù)調(diào)度是指根據(jù)一定的約束規(guī)定,將CPU分配給符合條件的任務(wù)使用。約束規(guī)則又稱為調(diào)度算法。Wolf內(nèi)核采用多種調(diào)度算法分配CPU給處于Ready態(tài)(就緒態(tài))的任務(wù)。默認(rèn)基于優(yōu)先級(jí)的搶占式調(diào)度算法,也支持基于時(shí)間片的輪轉(zhuǎn)(Round-Robin)調(diào)度算法。在嵌入式系統(tǒng)實(shí)時(shí)應(yīng)用中,不是每次搶占都是合理的,非期待的搶占會(huì)導(dǎo)致系統(tǒng)出現(xiàn)無法預(yù)料的情況,Woif提供允許和禁止調(diào)度的功能調(diào)用實(shí)現(xiàn)禁止搶占機(jī)制。

          (2)任務(wù)通信、同步、互斥機(jī)制

          任務(wù)間通信機(jī)制是提供多任務(wù)間相互同步和通信,以協(xié)調(diào)獨(dú)立任務(wù)之間活動(dòng)的機(jī)制。

          ①共享內(nèi)存,提供數(shù)據(jù)共享。Woif采用簡(jiǎn)單快速的禁止中斷手段保證共享數(shù)據(jù)被互斥訪問②消息隊(duì)列實(shí)現(xiàn)一CPU內(nèi)多任務(wù)間通信和同步。Woif提供消息隊(duì)列函數(shù)庫(kù)創(chuàng)建、刪除、發(fā)送消息,消息隊(duì)列是動(dòng)態(tài)建立的抽象對(duì)象,不綁定于任務(wù)一個(gè)任務(wù)。

          3 微內(nèi)核設(shè)計(jì)方案

          設(shè)計(jì)嵌入式操作系統(tǒng)軟件測(cè)試方案時(shí),我們根據(jù)系統(tǒng)的基本思想,定用判定表、功能矩陣將其劃分成狀態(tài)測(cè)試、系統(tǒng)調(diào)用功能測(cè)試。

          (1)多任務(wù)狀態(tài)測(cè)試

          下面運(yùn)用判定表設(shè)計(jì)狀態(tài)轉(zhuǎn)移測(cè)試用例。首先確定狀態(tài)轉(zhuǎn)移活動(dòng)(5類活動(dòng)):

          ①運(yùn)行態(tài)到阻塞態(tài)E→B;

          ②阻塞態(tài)到就緒態(tài)B→R;

          ③阻塞態(tài)到運(yùn)行態(tài)B→E;

          ④就緒態(tài)到就緒態(tài)E→R。

          ⑤執(zhí)行態(tài)到就緒態(tài)E→R。

          然后列出不同活動(dòng)必須遵守的狀態(tài)轉(zhuǎn)換規(guī)則并編號(hào)。這里編號(hào)形式定義為:具體活動(dòng)編號(hào)+數(shù)字序列編號(hào)。例如:用轉(zhuǎn)換規(guī)則編號(hào)③2,表明該規(guī)則是活動(dòng)3必須遵守的第2條規(guī)則。

          以下是部分轉(zhuǎn)換規(guī)則。

          ◇一個(gè)運(yùn)行態(tài)的任務(wù)E變成阻塞態(tài)B(E→B):

          ①,它從一個(gè)空消息隊(duì)列中請(qǐng)求一個(gè)消息;或者②,它等待一個(gè)不會(huì)即將發(fā)生的事件條件;或者③,它請(qǐng)求一個(gè)當(dāng)前不能提供的信號(hào)量標(biāo)志;或者④,它請(qǐng)求一段目前不能提供的內(nèi)存;或者⑤,它暫中止一個(gè)時(shí)間段或直到一個(gè)特殊的時(shí)刻。

          ◇一個(gè)阻塞態(tài)的任務(wù)B變成就緒態(tài)R(B→R):

          ①,B是消息等待隊(duì)列中的第一個(gè)任務(wù),它等待的消息來到消息隊(duì)列中;或者②,一個(gè)事件發(fā)送給了B,滿足了它一直等待的事件的條件;或者③,一個(gè)信號(hào)量標(biāo)志被返回,B是等待隊(duì)列中的第一個(gè);或者④,返還的內(nèi)存區(qū)允許分配給B;或者⑤,B一直在超時(shí)等待一個(gè)事件、消息、信號(hào)量或一個(gè)內(nèi)存段(當(dāng)超過時(shí)間間隔)。

          ◇一個(gè)阻塞態(tài)的任務(wù)B變成運(yùn)行態(tài)(B→E):

          任何一個(gè)(B→R)任務(wù)條件滿足,該任務(wù)運(yùn)行優(yōu)先級(jí)就高于運(yùn)行態(tài)任務(wù),這個(gè)運(yùn)行態(tài)任務(wù)是能被搶先的。

          ◇一個(gè)就緒態(tài)的任務(wù)R會(huì)變成運(yùn)行態(tài)任務(wù)(R→E),在當(dāng)前運(yùn)行態(tài)任務(wù)是:

          ①阻塞;或者②,可搶占。R有較高的優(yōu)先級(jí)。

          ◇一個(gè)運(yùn)行態(tài)的任務(wù)R會(huì)變成就緒態(tài)任務(wù)(E→R),當(dāng):

          ①任何一個(gè)阻塞狀態(tài)的任務(wù)B滿足了(E→R)的發(fā)生條件(由于當(dāng)前E或一個(gè)ISR系統(tǒng)調(diào)用);或者②,滿足(R→E)的2至4條件中的任何一個(gè)條件發(fā)生。

          最后,確定判定條件,建立判定表。這里有3個(gè)判定條件:當(dāng)前狀態(tài)是E,或當(dāng)前狀態(tài)是B,或當(dāng)前狀態(tài)是R。如滿足對(duì)應(yīng)規(guī)則,則填寫“Y”,不滿足對(duì)應(yīng)規(guī)則,則填寫“N”。如果在判定條件的規(guī)則下,進(jìn)行的活動(dòng)正確,則用“√”確認(rèn),錯(cuò)誤用“”確認(rèn),尚未測(cè)試用“□”確認(rèn),無關(guān)用“⊙”確認(rèn)。

          表1為任務(wù)狀態(tài)判定表(部分)。

          表1 任務(wù)狀態(tài)判定表(部分)

          條 件①1①2①3①4①5②1②2②3②4②5
          當(dāng)前狀態(tài)EYYYYYNNNNN
          當(dāng)前狀態(tài)BNNNNNYYYYY
          當(dāng)前狀態(tài)RNNNNNNNNNN
          ①E→B
          ②B→R
          ③B→E
          ④R→E
          ⑤E→R

          表1顯示了測(cè)試活動(dòng)1和活動(dòng)2的正確性。其中滿足條件2的活動(dòng)有2個(gè),即活動(dòng)2和活動(dòng)5,但由于活動(dòng)5并支持對(duì)應(yīng)的規(guī)則,所以結(jié)果用“”標(biāo)示。

          由表1可以看出,使用判定表明晰測(cè)試覆蓋,能保持測(cè)試的完備性和一致性。

          (2)多任務(wù)功能測(cè)試

          首先,Wolf的微內(nèi)核功能,將其劃分成3個(gè)測(cè)試功能域:

          ①面向應(yīng)用層的高級(jí)系統(tǒng)服務(wù)(調(diào)用)測(cè)試域。Wolf為應(yīng)用層提供豐富的系統(tǒng)調(diào)用函數(shù),將其細(xì)分為操作系統(tǒng)服務(wù)類、內(nèi)存服務(wù)類、文件系統(tǒng)服務(wù)類、I/O服務(wù)類及調(diào)試平臺(tái)服務(wù)5類。

          ②面向內(nèi)核的多任務(wù)調(diào)度測(cè)試、任務(wù)通信測(cè)試及內(nèi)存測(cè)試域。

          ③面向低層硬件的設(shè)備驅(qū)動(dòng)測(cè)試、時(shí)鐘測(cè)試、功耗測(cè)試域。

          其次,將系統(tǒng)調(diào)用函數(shù)使用的數(shù)據(jù)類型分類,如表2所列。經(jīng)過數(shù)據(jù)分類,使得上百個(gè)函數(shù)測(cè)試通過20多個(gè)數(shù)據(jù)類型的測(cè)試來實(shí)現(xiàn),。提高測(cè)試效率。測(cè)試提供的統(tǒng)計(jì)數(shù)字為最后的測(cè)試失敗率、覆蓋率提供依據(jù)。(N1,N2,N3,N4,N5,N6分別代表測(cè)試的次數(shù))

          表2 系統(tǒng)調(diào)用數(shù)據(jù)類型分類

          數(shù)據(jù)類型函數(shù)調(diào)用的次數(shù)測(cè)試用例測(cè)試的個(gè)數(shù)測(cè)試域
          ①StringN1N4應(yīng)用層
          ②BufferN2N5內(nèi)核層
          ③IntegerN3N6應(yīng)用層
              

          結(jié)束語(yǔ)

          本文在嵌入內(nèi)核操作系統(tǒng)Wolf測(cè)試過程中設(shè)計(jì)出有效的測(cè)試方案和方法,取得良好的效果。Wolf微內(nèi)核操作系統(tǒng)研制成功以來,能夠支持多種便攜式信息處理設(shè)備,例如已產(chǎn)業(yè)化的閱讀不耗電電子書(eBook)。

          Wolf作為電子閱讀應(yīng)用軟件的開發(fā)和數(shù)字圖書館閱讀終端產(chǎn)品開發(fā)的有利支持系統(tǒng),與北大方正Apabi電子書籍網(wǎng)絡(luò)出版平臺(tái)系統(tǒng)及電子出版業(yè)相結(jié)合,帶給人們一個(gè)便攜式閱讀電子書籍的新時(shí)代。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          評(píng)論


          相關(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); })();