<em id="5fkg2"><acronym id="5fkg2"></acronym></em>
  1. 設為主頁 加入收藏 聯系我們

    公司公告

    更多公告>>
    公司動態
    當前位置:首頁 > 公司動態 > 無紙記錄儀實時多任務的特點任務的劃分、組織和調度
    無紙記錄儀實時多任務的特點任務的劃分、組織和調度
    點擊次數:1093 發布時間:2017-07-21
       無紙記錄儀實時多任務的特點任務的劃分、組織和調度
      
      實時多任務系統應用極其廣泛,幾乎滲透到各行各業,系統分類也很復雜。在嵌入式系統中,實時多任務機制是依靠啟動之后運行的一段后臺任務管理程序實現的。應用程序運行在該管理器程序之上。后臺根據各個任務的要求,進行資源管理、消息管理、任務調度、異常處理等工作。其首要目的是調度一切可利用的資源實現實時控制任務。
      
      實時系統主要有兩大類:軟實時系統和硬實時系統。軟實時系統的宗旨是使各個任務運行的越快越好,并不要求限定某一任務必須在多長時間內完成。在硬實時系統中,各任務不僅要執行無誤而且要做到準時。大多數實時系統都是二者的結合。對于一個復雜任務系統,任務調度模式的選用是其系統架構的一個重點。無紙無紙記錄儀具有多層次的界面管理和較高的實時響應需求,由此選擇與之相適應的系統任務調度模式是勢在必行的。
      
      考慮了各任務響應的實時性需求,對任務進行了創造性的調整,進而將軟實時系統和硬實時系統進行了有機的結合,規劃出zui為合理的任務調度模式。
      
      1、無紙記錄儀實時多任務的特點
      
      通常的實時多任務操作系統都比較龐大,對于由單片機(80C320)組成的實時系統是不適用的。由于單片機的運算能力和內存有限,要求實時操作系統具有簡單實用、可靠的特性。就無紙記錄儀而言,其任務和功能是預知的,則內存和文件管理系統可簡化,甚至取消[1]。因為任務對存儲器的要求是明確的,這樣就可以使用固定和獨立的存儲區域分配方案,無需通過OS來控制和分配。因此,實時多任務操作系統就可以簡化為基于任務調度與時鐘中斷管理為核心的調度模塊。無紙記錄儀中的任務狀態有四種:運行、就緒、等待、掛起,睡眠狀態并入等待,不再另加以區分。
      
      2、任務的劃分、組織和調度
      
      2.1任務的劃分
      
      在單片機實時多任務系統中,實現實時多任務機制的關鍵在于將系統功能合理地分解成各個任務模塊。劃分任務的原則:功能相對獨立,并能與其他程序同時執行的程序劃分為一個任務。但任務劃分不能太細,否則將增加任務切換的系統開銷,降低系統效率并影響系統響應的實時性。指出,應盡量將關系密切的任務合并,減少任務間的通信。綜合考慮任務的實時性和執行時間,無紙記錄儀的十個任務可分為三類:
      
      (1)高優先級任務:下位機上傳采樣值的處理,虛擬通道組織,報警處理。這類任務實時性要求高,執行時間<0.1s,如采樣值處理任務,無紙記錄儀要保存采樣值作為歷史數據,保存過程中要加上時標,采樣值正確而時標錯誤的記錄是無效的。
      
      (2)低優先級任務:按鍵響應、顯示、PID控制、流量積算。這類任務執行時間<0.2s,任務實時性要求一般。如按鍵響應任務,延遲0.5s是可以容忍的。
      
      (3)后臺任務:存儲、打印、與管理機(PC)通信。這類任務的執行時間>1s,對實時性的要求zui低。
      
      2.2任務的組織
      
      系統上電,初始化每個任務的固定任務棧,建立任務隊列狀態表和任務控制表(TCB),這兩張表是任務調度的依據。任務隊列狀態表由高優先級、低優先級、后臺任務三張子表組成;任務控制表由任務首地址、狀態寄存器、任務局部變量三部分組成,數據結構。
      
      2.3基于消息驅動機制的任務調度
      
      借鑒面向對象程序設計的思想,在無紙記錄儀程序中引入消息概念,將任務的執行條件轉換為消息,由消息對相應的任務進行激活,并由任務調度模塊實現調度。消息定義為:當某個事件(如中斷或某任務完成)發生時,事件處理程序設置相應的標志,不同的標志代表不同的消息。事件處理程序可以是中斷服務程序,也可以是執行后需設置的標志的任務,因此,無紙記錄儀中任務的調度是基于消息機制來驅動的。消息在多任務程序中的作用相當于橋梁,使任務間既相互獨立又有機關聯,任務之間不能直接調用,需借助消息,由任務調度模塊實施。
      
      中斷服務程序由中斷消息(標志)處理程序和中斷任務處理程序兩部分組成,前者僅僅完成消息(標志)處理就退出中斷,而中斷真正要完成的操作,是在任務調度模塊的協調下,由中斷任務處理程序來完成。如按下顯示,則按鍵中斷消息處理程序只產生一個按鍵消息(標志)就退出中斷,而調度模塊依據按鍵消息,調用按鍵中斷任務處理程序獲取鍵值,并產生顯示消息。調度模塊依據顯示消息,調用顯示任務程序。
      
      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。由于搶占的次數有限,所以任務切換開銷不大,有利于提高系統效率。
      
      搶占式和非搶占式的復合多任務調度策略已成功應用于某無紙記錄儀,達到了預期的目標。
    聯系人
    • 黃文通

      86-0592-7276585

    在線客服
    用心服務 成就你我

    制藥網

    推薦收藏該企業網站
    友情链接:  日本免费播放器 {关键词}
    http:// pww 博客| 桐庐县| 万州区| 鹤峰县| 陇西县| 三原县| 桃江县| 连山| 塘沽区| 措美县| 莱芜市| 姜堰市| 江口县| 宁南县| 陕西省| 共和县| 桂东县| 黑龙江省| 吴旗县| 梅河口市| 威海市| 都安| 襄汾县| 桃江县| 治多县| 女性| 祁门县| 北海市| 筠连县| 四川省| 甘谷县| 通河县| 侯马市| 吉木萨尔县| 阜宁县| 淮南市| 安徽省| 诸暨市| 额济纳旗| 英德市|