• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 軟件可靠性仿真測試平臺實時技術研究(3)

    發表于:2015-01-04來源:uml.org.cn作者:劉東艷 申功勛點擊數: 標簽:
    在優先級調度方式中,采用優先級浮動的原則:即根據系統實時處理任務的不同,按照需要動態地改變優先級。系統在正常運行時,優先級不變;當系統發

      在優先級調度方式中,采用優先級浮動的原則:即根據系統實時處理任務的不同,按照需要動態地改變優先級。系統在正常運行時,優先級不變;當系統發生嚴重故障時,調度模塊動態觸發異常處理任務,并根據故障類別和故障被維護的狀況,動態調整模塊處理級別。對于影響系統測試的重要模塊,調度模塊啟動相應的備份儲備模塊,同時將“暫停測試”的申請通過網絡發送到主控機。這樣,系統就具有了故障恢復能力,實現了關鍵部分的冗余保護,提高了可靠性。

      根據上述設計,在實時測試過程中,仿真器的實時調度層次模型如圖4所示。

      圖4 RUN()模式下實時任務調度模型示意圖

      基于以上的調度策略,任務調度管理模塊采用以下方式對各模塊進行調度:

      中斷方式:當總的任務調度器監控到消息隊列中最高消息到來時,立即申請軟件中斷,或者有硬件中斷申請時,系統立即停止當前執行的任務,執行相應的中斷處理。

      定時方式:實時測試開始后,定時器每25 ms發出定時消息,定時將需要發送的測試用例數據送到MBI卡上。

      消息方式:基于Win98消息傳遞機制,由線程調度方式實現。

      信號量及全局變量方式:總的任務調度器監控到任務啟動的信號量或狀態量改變后,按任務的等級運行任務。

      根據系統任務調度管理的方式,將任務消息的處理級別分為三個優先級:

     ?、僮罡呒壪ⅲ涸擃愊⒁笙到y立即響應,具有此類優先級的模塊在系統實時仿真中處于核心地位。該消息不放到Windows的系統消息隊列中排隊,而是直接送到相應的應用消息隊列中,供應用程序處理。這樣可以避免無節制的消息循環,保證了消息處理的及時性。

     ?、跁r鐘級消息:由精確定時器產生“定時時間到”的消息。在正常測試過程中,該消息為最高級別。時鐘級的消息主要分配給在實時測試中的數據生成模塊和驅動模塊。

     ?、燮胀壪ⅲ涸擃愊⒅饕峙浣o用戶接口模塊、記錄模塊等功能模塊。

      2.2.4 仿真器關鍵功能模塊的實時性實現技術

     ?、倬W絡通信模塊:非實時部分采用TCP/IP協議方式進行網絡傳輸。實時部分利用設置網絡通信緩存區的方式,從通信結果上可以部分實現網絡傳輸的實時通信,其關鍵在于緩沖的深度?;蛘卟捎肰XD技術,直接對網卡進行傳輸操作,可以避免由于網絡延遲而影響系統實時性能的缺陷。

     ?、陲@示模塊:在實時測試過程中,通過該模塊,可以顯示測試數據,并且用戶能對測試過程進行控制。在實時測試中,中心任務處理周期為25 ms,在任務周期的空余時間還需要進行其它處理。因此在每25 ms周期內,留給顯示任務的時間就非常少,另外由于人眼對數據變化的敏感程度低于25 ms,因此每50 ms以上進行一次相關數據顯示就可以滿足系統的需求。在數據顯示中,文本顯示比圖形顯示占用CPU處理時間要少許多。在圖形顯示中,采用高性能的圖形處理算法,可以保證圖形處理的實時性。另外,隨著圖形卡硬件性能的提高,在圖形加速卡性能保證的情況下,系統只需計算圖形描述語句占用CPU的時間,圖形繪制方面的時間可以不給予主要考慮。圖形實時顯示算法還有待進一步研究。

     ?、劢宦摂祿?553B驅動模塊:由于Win98處于安全模式,Win98中的虛擬內存地址與實際物理地址并不一致,用戶不易直接訪問硬件的實際物理內存地址和I/O口地址。為了滿足實時驅動MBI卡的需要,通過WinDriver工具軟件,直接映射 MBI卡上的實際物理內存地址和I/O地址,并將硬件中斷虛擬化,利用WinDriver生成的一系列讀寫內存和I/O口地址的函數,用戶就可以直接快速地對硬件進行控制。實驗結果表明,在Win98應用任務單一的情況下,用戶操作MBI卡的速度同于在DOS下的速度。WinDriver工作原理如圖5所示。

      圖5 WinDriver工作原理圖

      3 結束語

      本文以實時測試某航空軟件可靠性為背景,介紹了仿真器在仿真測試平臺中的作用。按照模塊化和可擴充的設計思想,給出了仿真器功能結構組成;并且著重介紹了仿真器的任務調度管理模塊的設計思想,針對具體任務和系統工作模式,提出了集成動態調度策略;對于優先+級的調度方式,采用了優先級浮動的原則。另外,給出了實時網絡實現的方法,討論了圖形實時顯示的可行性,利用WinDriver實現了在 Win98下對硬件MBI卡的直接驅動。實驗結果表明,上述調度思想與相關技術綜合運用,很好地滿足了仿真器系統工作的實時性。

    原文轉自:http://www.uml.org.cn/Test/200903241.asp

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>