新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 無紙記錄儀實時多任務調度策略的研究

        無紙記錄儀實時多任務調度策略的研究

        作者: 時間:2011-08-28 來源:網絡 收藏
        2.3 基于消息驅動機制的

        本文引用地址:http://www.104case.com/article/150279.htm

          借鑒面向對象程序設計的思想,在程序中引入消息概念,將的執行條件轉換為消息,由消息對相應的進行激活,并由任務模塊實現。消息定義為:當某個事件(如中斷或某任務完成)發生時,事件處理程序設置相應的標志,不同的標志代表不同的消息。事件處理程序可以是中斷服務程序,也可以是執行后需設置的標志的任務,因此,中任務的調度是基于消息機制來驅動的。消息在多任務程序中的作用相當于橋梁,使任務間既相互獨立又有機關聯,任務之間不能直接調用,需借助消息,由任務調度模塊實施。

          中斷服務程序由中斷消息(標志)處理程序和中斷任務處理程序兩部分組成,前者僅僅完成消息(標志)處理就退出中斷,而中斷真正要完成的操作,是在任務調度模塊的協調下,由中斷任務處理程序來完成。如按下顯示,則按鍵中斷消息處理程序只產生一個按鍵消息(標志)就退出中斷,而調度模塊依據按鍵消息,調用按鍵中斷任務處理程序獲取鍵值,并產生顯示消息。調度模塊依據顯示消息,調用顯示任務程序。

          3 多任務調度

          多任務的系統,通常采用內核來管理各個任務,也就是通過內核為每個任務分配CPU時間,并負責任務之間的通信。根據任務的調度機制,可以分為非占先式內核和占先式內核。前者要求每個任務能夠主動釋放CPU等資源,后者則支持對當前任務的CPU使用權的剝奪,從而使更高優先級就緒任務得到CPU控制權進而執行。

          嵌入式系統采用何種調度,通常要考慮三個因素:系統的處理能力,任務的數目,系統對響應時間和執行效率的要求。搶占式調度能改善高優先級任務的性,但系統開銷較大;非搶占式調度恰好與搶占式相反。針對,提出搶占式和非搶占式的復合多任務調度。記錄儀的正常工作周期為1s,調度模塊的工作周期亦為1s,并將1s分為三個時段:0s-0.5s,0.5-0.8s,0.8s-1s,時鐘在0s, 0.5s, 0.8s各產生一次中斷,將Time-flag分別設置為0,5,8,并將Attemper-flag置為0。任務調度程序框圖如圖2所示。

          

          在記錄儀一個工作周期(1s)內,復合調度策略,允許高優先級任務三次搶占低優先級和后臺任務,而低優先級任務具有兩次搶占后臺任務的權力。因此,高優先級任務的響應時間t≤0.5s,低優先級任務的響應時間t≤0.7s。由于搶占的次數有限,所以任務切換開銷不大,有利于提高系統效率。

          搶占式和非搶占式的復合多任務調度策略已成功應用于某記錄儀,達到了預期的目標。

          首先,軟件設計模塊化,不同的功能模塊編制成相應的任務,由調度模塊按優先級別調用。而且兼顧了高優先級任務的實時性和系統運行的高效性。這樣,大大降低了系統的故障率。低優先級任務發生阻塞時,高優先級任務的執行不受其影響。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 本溪市| 中宁县| 曲周县| 萝北县| 察隅县| 长岭县| 开原市| 武夷山市| 东兴市| 邻水| 宁津县| 锡林浩特市| 桓台县| 临邑县| 建湖县| 巴里| 东丽区| 马尔康县| 义马市| 馆陶县| 兰考县| 东山县| 东莞市| 乐亭县| 龙海市| 陆良县| 寿阳县| 巴东县| 元朗区| 章丘市| 册亨县| 应城市| 镇雄县| 桓仁| 和龙市| 泗水县| 灌南县| 大兴区| 读书| 岳池县| 龙泉市|