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