1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

    <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
    <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
  2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
    現在位置:范文先生網>理工論文>電子通信論文>嵌入式微內核實時操作系統分析與測試

    嵌入式微內核實時操作系統分析與測試

    時間:2023-02-21 00:09:06 電子通信論文 我要投稿
    • 相關推薦

    嵌入式微內核實時操作系統分析與測試

    摘要:介紹嵌入式微內核實時操作系統的體系結構;針對Wolf嵌入式操作系統,設計一套微內核嵌入式操作系統測試實現方案。在Wolf操作系統支持下,已產業化的閱讀不耗電電子書(eBook)驗證了Wolf操作系統的可靠性。
      關鍵詞:嵌入式實時操作系統ERTOS微內核Wolf軟件測試儀eBook
      
      1嵌入式實時操作系統概述
      
      嵌入式實時操作系統(ERTOS)是操作系統研究的一個重要分支,它與一般商用多任務OS,如UNIX,Windows等,最大的不同之處在于:商用多任務OS的目的是追求系統資源最大利用率和公平對待所有的系統請求;而ERTPS追求的是實時性、可確定性、可靠性。
      
      自20世紀90年代以來,ERTOS發展迅速。國外著名商用EPTOS有:WindRiver公司的VxWorks、IS(IntegratedSystems)公司(2000年已被WindRiver公司合并)的pSOS、AC(AcceleratedTechnology)公司的Nucleus等等。國外ERTOS很多,大多是針對不同應用的專用ERTOS或通用ERTOS。
      
      與傳統的嵌入式系統軟件開發模式相比,雖然ERTOS會要求一些額外的開銷,但可以由現代微控制器的高速度、大存儲器以及產品提前進入市場的優勢來彌補。優秀的ERTOS可以對幾十個系列的嵌入式處理器MPU、微控制器MCU提供API接口。在此基礎上,可以編定出各川硬件驅動程序、產品庫函數,與通用性的應用程序一起作為產品銷售。
      
      2ERTOS——Wolf分析
      
      嵌入式實時操作系統產品Wolf(南開津科ERTOS)是一個開放式的微內核實時操作系統。其基本設計思想是:
      
      *低功耗(具有間歇式工作機制,支持哈偶結構);
      
      *支持尖端智能輸入/輸出設備;
      
      *支持微型大容量存儲卡(SM卡、SD卡等);
      
      *本質安全,支持信息版權及安全保護;
      
      *為第三方提供產品級的SDK。
      
      具有以下特點:
      
      *微內核結構;
      
      *支持多種CPU產品;
      
      *基于優先級的搶占式調度和輪轉調度相結合的多任務調度;
      
      *極小的內存開銷;
      
      *高可用性、可靠性。
      
      2.1微內核體系結構
      
      微內核體系結構是相對層次內核體系結構而言的。層次操作系統體系結構如圖1(a)所示,大部分或全部層次功能由內核實現,所有的接口功能只與相鄰層有關,系統和應用獨立,但其每一功能層的變化都會影響整個系統,層間安全性低。微內核體系結構如圖1(b)所示,其基本思想是將原來屬于傳統如圖1(b)所示,其基本思想是將原來屬于傳統操作系統內核的一些功能和服務從內核中分出,以子系統(組件)的形式與內核或其它子系統相互作用。組件功能以服務進程的方式通過消息與微內核和其它組件相互通信來完成。微內核的主要功能就是消息交換:確認消息、在組件間傳送消息及準許對硬件操作。微內核結構的主要優點是:系統具有統一的接口,擴展性、可靠性及支持分布式系統。
      
      Wolf是一個具有微內核結構的嵌入式操作系統,它由一個實時多任務內核和多個組件的集合組成。軟件組件都是獨立的標準構件塊,可以不用變更地從一個應用程序移到另一個應用程序。Wolf體系結構如圖2所示。
      
      2.2微內核剖析
      
      Wolf多任務調度是動態基于消息觸發調度機制,任務切換由臨時事件驅動,任務間是內部同步,不同的任務能夠異步招待。Wolf內核負責維護系統中的所有任務的當前狀態,所有任務具有以下四種狀態之一:
      
      *就緒態(Ready),縮寫為R。一個就緒態任務是可運行的,等待高優先級的任務釋放CPU。
      
      *運行態(Run),縮寫為E。一個運行態的任務是一個正在使用CPU的就緒任務。任何時刻有且只有一個運行著的任務。
      
      *阻塞態(Blocked),縮寫為B。一個任務被阻塞是由于任務自身的多個活動的必要手段。一個任務不能從就緒態到阻塞態。
      
      *刮起態(Suspend)。一個掛起態的任務不能執行,主要用于調試。
      
      *任務調試程序維護1個或多個跟蹤每個任務狀態的內部列表。它有一個就緒列表和每個(任務正在等待的)同步對象的一個單獨受阻列表。就緒隊列前頭的任務是下一個要運行的任務。在受阻列表中的任何任務都被掛起,每當受阻列表中的一個任務等待的事情發生時,該任務就從受阻列表中被刪除,并被放到就緒列表中等待執行、如圖3所示。
      
     。1)多任務調度
      
      任務調度是指根據一定的約束規定,將CPU分配給符合條件的任務使用。約束規則又稱為調度算法。Wolf內核采用多種調度算法分配CPU給處于Ready態(就緒態)的任務。默認基于優先級的搶占式調度算法,也支持基于時間片的輪轉(Round-Robin)調度算法。在嵌入式系統實時應用中,不是每次搶占都是合理的,非期待的搶占會導致系統出現無法預料的情況,Woif提供允許和禁止調度的功能調用實現禁止搶占機制。
      
     。2)任務通信、同步、互斥機制
      
      任務間通信機制是提供多任務間相互同步和通信,以協調獨立任務之間活動的機制。
      
     、俟蚕韮却,提供數據共享。Woif采用簡單快速的禁止中斷手段保證共享數據被互斥訪問②消息隊列實現一CPU內多任務間通信和同步。Woif提供消息隊列函數庫創建、刪除、發送消息,消息隊列是動態建立的抽象對象,不綁定于任務一個任務。
      
      3微內核測試設計方案
      
      設計嵌入式操作系統軟件測試方案時,我們根據系統分析的基本思想,定用判定表、功能矩陣將其劃分成狀態測試、系統調用功能測試。
      
     。1)多任務狀態測試
      
      下面運用判定表設計狀態轉移測試用例。首先確定狀態轉移活動(5類活動):
      
      ①運行態到阻塞態E→B;
      
     、谧枞麘B到就緒態B→R;
      
      ③阻塞態到運行態B→E;
      
     、芫途w態到就緒態E→R。
      
      ⑤執行態到就緒態E→R。
      
      然后列出不同活動必須遵守的狀態轉換規則并編號。這里編號形式定義為:具體活動編號+數字序列編號。例如:用轉換規則編號③2,表明該規則是活動3必須遵守的第2條規則。
      
      以下是部分轉換規則。
      
      ◇一個運行態的任務E變成阻塞態B(E→B):
      
     、,它從一個空消息隊列中請求一個消息;或者②,它等待一個不會即將發生的事件條件;或者③,它請求一個當前不能提供的信號量標志;或者④,它請求一段目前不能提供的內存;或者⑤,它暫中止一個時間段或直到一個特殊的時刻。
      
      ◇一個阻塞態的任務B變成就緒態R(B→R):
      
     、,B是消息等待隊列中的第一個任務,它等待的消息來到消息隊列中;或者②,一個事件發送給了B,滿足了它一直等待的事件的條件;或者③,一個信號量標志被返回,B是等待隊列中的第一個;或者④,返還的內存區允許分配給B;或者⑤,B一直在超時等待一個事件、消息、信號量或一個內存段(當超過時間間隔)。
      
      ◇一個阻塞態的任務B變成運行態(B→E):
      
      任何一個(B→R)任務條件滿足,該任務運行優先級就高于運行態任務,這個運行態任務是能被搶先的。
      
      ◇一個就緒態的任務R會變成運行態任務(R→E),在當前運行態任務是:
      
      ①阻塞;或者②,可搶占。R有較高的優先級。
      
      ◇一個運行態的任務R會變成就緒態任務(E→R),當:
      
     、偃魏我粋阻塞狀態的任務B滿足了(E→R)的發生條件(由于當前E或一個ISR系統調用);或者②,滿足(R→E)的2至4條件中的任何一個條件發生。
      
      最后,確定判定條件,建立判定表。這里有3個判定條件:當前狀態是E,或當前狀態是B,或當前狀態是R。如滿足對應規則,則填寫“Y”,不滿足對應規則,則填寫“N”。如果在判定條件的規則下,進行的活動正確,則用“√”確認,錯誤用“×”確認,尚未測試用“□”確認,無關用“⊙”確認。
      
      表1為任務狀態判定表(部分)。
      
      表1任務狀態判定表(部分)
      
      條件①1①2①3①4①5②1②2②3②4②5當前狀態EYYYYYNNNNN當前狀態BNNNNNYYYYY當前狀態RNNNNNNNNNN①E→B√√√√√⊙⊙⊙⊙⊙②B→R⊙⊙⊙⊙⊙√√√√√③B→E⊙⊙⊙⊙⊙⊙⊙⊙⊙⊙④R→E⊙⊙⊙⊙⊙⊙⊙⊙⊙⊙⑤E→R⊙⊙⊙⊙⊙×××××
      表1顯示了測試活動1和活動2的正確性。其中滿足條件2的活動有2個,即活動2和活動5,但由于活動5并支持對應的規則,所以結果用“×”標示。
      
      由表1可以看出,使用判定表明晰測試覆蓋,能保持測試的完備性和一致性。
      
     。2)多任務功能測試
      
      首先,分析Wolf的微內核功能,將其劃分成3個測試功能域:
      
     、倜嫦驊脤拥母呒壪到y服務(調用)測試域。Wolf為應用層提供豐富的系統調用函數,將其細分為操作系統服務類、內存服務類、文件系統服務類、I/O服務類及調試平臺服務5類。
      
     、诿嫦騼群说亩嗳蝿照{度測試、任務通信測試及內存測試域。
      
     、勖嫦虻蛯佑布脑O備驅動測試、時鐘測試、功耗測試域。
      
      其次,將系統調用函數使用的數據類型分類,如表2所列。經過數據分類,使得上百個函數測試通過20多個數據類型的測試來實現,。提高測試效率。測試提供的統計數字為最后的測試失敗率、覆蓋率提供依據。(N1,N2,N3,N4,N5,N6分別代表測試的次數)
      
      表2系統調用數據類型分類
      
      數據類型函數調用的次數測試用例測試的個數測試域①StringN1N4應用層②BufferN2N5內核層③IntegerN3N6應用層
      結束語
      
      本文在嵌入式微內核操作系統Wolf測試過程中設計出有效的測試方案和方法,取得良好的效果。Wolf微內核操作系統研制成功以來,能夠支持多種便攜式信息處理設備,例如已產業化的閱讀不耗電電子書(eBook)。
      
      Wolf作為電子閱讀應用軟件的開發和數字圖書館閱讀終端產品開發的有利支持系統,與北大方正Apabi電子書籍網絡出版平臺系統及電子出版業相結合,帶給人們一個便攜式閱讀電子書籍的新時代。
      
      
      
      

    【嵌入式微內核實時操作系統分析與測試】相關文章:

    利用實時內核開發嵌入式多任務程序08-06

    實時嵌入式軟件測試工具的研究08-06

    運用UML分析設計占先式實時內核08-06

    嵌入式實時操作系統μC/OS-II與eCos的比較08-06

    微型搶占式多任務實時內核設計08-06

    嵌入式系統的實時性問題08-06

    實時嵌入式操作系統μC/OS-II在MPC555上的移植08-06

    嵌入式系統的實時數據接口擴展08-06

    嵌入式實時系統開發的正確選擇08-19

    国产福利萌白酱精品tv一区_日韩亚洲中字无码一区二区三区_亚洲欧洲高清无码在线_全黄无码免费一级毛片
    1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

      <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
      <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
    2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
      日韩一区二区四区高清免费 | 日本乱理伦片在线观看中文 | 中文字幕亚洲无线码在线中 | 日韩国产亚洲欧美不卡观看 | 思思九九热在线视频免费精品 | 日本欧美亚洲综合久久久 |