趙 剛,張 賓,張振華,薛建彬,鄭智健
(1.北方自動控制技術研究所,太原 030006;2.解放軍駐207所軍代室,太原 030006)
隨著計算機技術的發(fā)展以及陸軍火控系統(tǒng)應用的日趨復雜,新一代火控系統(tǒng)正向綜合化的方向發(fā)展,通過將運行于多個功能模塊的任務集中在少量的硬件模塊上實現(xiàn)資源共享,從而滿足復雜的應用需求。但是,這樣使得不同關鍵級別的任務運行于實時系統(tǒng)的內(nèi)核管理下,面臨著以下不足:1)傳統(tǒng)的操作系統(tǒng)采用單一的任務優(yōu)先級搶占的調(diào)度方法,無法避免高優(yōu)先級任務超時使用處理器資源導致其他任務無法拿到處理器使用權而應用出錯;2)處于內(nèi)核態(tài)下應用的越界訪問導致影響蔓延到整個系統(tǒng),進而引起系統(tǒng)崩潰。
借鑒航電系統(tǒng)綜合化的成功經(jīng)驗,分區(qū)操作系統(tǒng)廣泛地應用在高安全級別飛控單元與航電控制單元中[1],本文基于某火控系統(tǒng)預研項目,通過使用分時分區(qū)的操作系統(tǒng)實現(xiàn)火控應用的綜合化部署,以分區(qū)為調(diào)度單元確保分區(qū)間應用安全隔離,為應用綜合化部署提供調(diào)度支持。
分區(qū)操作系統(tǒng)以分區(qū)的形式為應用提供獨立的運行環(huán)境,通過將應用的失效影響限制在確定的分區(qū)內(nèi)減少對全系統(tǒng)的影響,從而實現(xiàn)應用綜合部署,其體系結構[2]如圖1所示:
圖1 分時分區(qū)操作系統(tǒng)體系結構
通過圖1可看出,分區(qū)操作系統(tǒng)由運行在內(nèi)核態(tài)的CoreOS通過配置文件調(diào)度各分區(qū),其余功能在分區(qū)內(nèi)實現(xiàn),分區(qū)應用通過APOS接口實現(xiàn)應用程序與分區(qū)內(nèi)操作系統(tǒng)的隔離訪問,從而將應用局限在分區(qū)內(nèi),實現(xiàn)應用的安全隔離運行。
分區(qū)操作系統(tǒng)采用兩級調(diào)度的方式。CoreOS采用分區(qū)間周期輪轉(zhuǎn)的時間窗口循環(huán)調(diào)度,分區(qū)沒有優(yōu)先級,每個分區(qū)以主時間框架內(nèi)的時間窗口實現(xiàn)調(diào)度,在分區(qū)的調(diào)度時隙取得使用權,在分區(qū)時間耗盡之后交出資源使用權,保證了分區(qū)的時間確定性;分區(qū)內(nèi)由各自的分區(qū)調(diào)度規(guī)則進行任務的執(zhí)行[9],如圖2所示。
在圖2所示的分區(qū)調(diào)度模型[3]中,每個分區(qū)在全局CoreOS看來就是一個個的時間窗口,在規(guī)定的時間窗口內(nèi)將CPU資源使用權分配給對應分區(qū)。所以,確定分區(qū)k的資源分配αk及各分區(qū)的周期γk是分區(qū)調(diào)度的關鍵。
圖2 分區(qū)調(diào)度模型
針對靜態(tài)實時調(diào)度主流方法采用RMS(Rate Monotonic Scheduling)[4]的速率單調(diào)調(diào)度模型來驗證,分區(qū)k中n個實時任務組成的周期任務集∏=,使用(Ci,Ti,D)i表示任務周期有T1≤T2≤…Tn且周期越短任務優(yōu)先級越高,任務響應時間為Ci,截止期限為Di。
將操作系統(tǒng)處理器資源做歸一化處理[10],則各分區(qū)分時使用處理器資源,分區(qū)k取得資源使用率為 α(k∑αi≤1,i為分區(qū)數(shù)量),則處于分區(qū)k內(nèi)的任務其響應時間為。根據(jù)文獻[7]使用RMS調(diào)度時可得周期任務的處理器使用率為βk≤n(21/n=1),n為任務數(shù)量,具體到分區(qū)k每個任務可得到處理器的響應時間為,因此,分區(qū)內(nèi)m個任務的處理器使用率(m為分區(qū)k內(nèi)任務數(shù)量),可得分區(qū)k的處理器使用率應滿足:
分區(qū)k的周期參數(shù)γk需要滿足分區(qū)內(nèi)最小不活動周期的時間要求,在(0,t]內(nèi)執(zhí)行i的累計運行時間為,可得分區(qū)內(nèi)任務i的最小不活動周期為,分區(qū)k的最小不活動周期為為分區(qū)內(nèi)任務),根據(jù)文獻[4]可證明在兩級調(diào)度模型的系統(tǒng)中,處理能力 αk的分區(qū)調(diào)度條件為 γ(k1-αk)≤B(αk),可得分區(qū)k的周期調(diào)度參數(shù)滿足:
在炮兵壓制武器某預研項目中,顯控子系統(tǒng)應用通過資源共享部署運行在數(shù)據(jù)處理模塊上,運行的任務有周期響應的控制類調(diào)炮應用、人機交互類應用及通用系統(tǒng)管理類應用[8]。
軟件的綜合化部署,需要分區(qū)操作系統(tǒng)來管理應用,操作系統(tǒng)采用北京科銀京成公司生產(chǎn)的道系統(tǒng)分時分區(qū)版(DeltaOS)作為驗證操作系統(tǒng)[11],顯控子系統(tǒng)的多個功能應用,按照對資源訪問的不同將他們放在不同的分區(qū)中,設計3個分區(qū)分別是控制分區(qū)、交互分區(qū)及管理分區(qū),每個分區(qū)獨立地加載各自的分區(qū)操作系統(tǒng)及為應用提供相應的環(huán)境支持。
分時分區(qū)操作系統(tǒng)的軟件部署在基于傳統(tǒng)應用開發(fā)的基礎上需要對應用合理分區(qū),對分區(qū)內(nèi)應用的運行參數(shù)(Ci,Ti,Di)進行分析,進而確定分區(qū)調(diào)度參數(shù)及總的時間調(diào)度參數(shù),分區(qū)操作系統(tǒng)作為確定性的系統(tǒng)其分區(qū)的調(diào)度參數(shù)及任務的運行時限需提前規(guī)劃并固定,其開發(fā)順序是完成應用開發(fā),根據(jù)任務及分區(qū)規(guī)劃完成資源配置,滿足任務所需的空間和時間資源[14],流程如圖3所示。
圖3 分時分區(qū)應用開發(fā)流程
顯控子系統(tǒng)按照訪問資源的不同設計分區(qū)[12],分區(qū)P1放置人機交互應用,分區(qū)P2部署控制類應用,分區(qū)P3為系統(tǒng)管理類應用,統(tǒng)計各分區(qū)內(nèi)周期性任務參數(shù)表如表1所示,其中Ci是任務執(zhí)行時間,Ti是任務的響應周期,單位為毫秒(ms)。
結合表1的數(shù)據(jù),通過式(1)得到分區(qū)內(nèi)任務是否可調(diào)度,通過式(2)得到分區(qū)的資源分配αk,通過式(3)得到各分區(qū)的調(diào)度周期γk。
對分區(qū)P1中的任務進行RMS可調(diào)度性分析,使用式(1)可得:
表1 分區(qū)任務參數(shù)表
對于任務 Task11:t1=C1=7<T1,Task11可調(diào)度。
圖4 分區(qū)調(diào)度時間窗配置
在多分區(qū)的測試中,可以借助分區(qū)操作系統(tǒng)中各設備分區(qū)獨占的特點,合理分配分區(qū)的調(diào)試輸出手段,配合VGA顯示輸出、網(wǎng)絡telnet交互及串口調(diào)試等手段實現(xiàn)多分區(qū)測試。
在完成分區(qū)內(nèi)與分區(qū)間的測試任務后,顯控子系統(tǒng)接入火控綜合架構中組成一個完整的系統(tǒng),對系統(tǒng)進行集成調(diào)試,通過人機交互的任務入口,測試各功能項匹配的分區(qū)內(nèi)應用執(zhí)行情況,實現(xiàn)在進行調(diào)炮等控制任務工作時,同時可以切換顯示界面等人機交互任務。
本文通過研究分區(qū)操作系統(tǒng)的可調(diào)度條件,實現(xiàn)顯控子系統(tǒng)各任務的綜合化部署,既保證了高安全等級的強實時任務按預期的時間片取得執(zhí)行權,又不會超時占用系統(tǒng)資源,使得強實時系統(tǒng)上多任務調(diào)度變得可行,這些優(yōu)點是傳統(tǒng)強實時操作系統(tǒng)無法實現(xiàn)的,與當前的硬實時操作系統(tǒng)相比具有明顯的優(yōu)勢,為火控應用的綜合化部署提供有力的支持。