李苗偉 馮東
摘 ? 要:目前航天系統(tǒng)中的嵌入式操作性系統(tǒng)還存在一定的問題,因此本文主要對航天系統(tǒng)星載計(jì)算機(jī)實(shí)時性需求進(jìn)行了分析,并提出了一個對實(shí)時性進(jìn)行評測的體系,根據(jù)評價體系中的各個指標(biāo),以SPARC架構(gòu)為基礎(chǔ)的S689-MIL嵌入式平臺評測了航天領(lǐng)域中較為典型的嵌入式操作系統(tǒng)。相關(guān)結(jié)果表明,該類評價系統(tǒng)能夠全面評價和分析嵌入式操作系統(tǒng)的實(shí)時性,并能為選擇合適的嵌入式操作系統(tǒng)提供更加真實(shí)、可靠的決策。
關(guān)鍵詞:航天系統(tǒng) ?嵌入式操作系統(tǒng) ?評測體系 ?實(shí)時性
中圖分類號:TP316 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識碼:A ? ? ? ? ? ? ? ? ? ? ? ?文章編號:1674-098X(2019)08(b)-0007-02
1 ?論述主流嵌入式操作系統(tǒng)
目前在市場中比較常用的嵌入式實(shí)時操作系統(tǒng)包括eCos、VxWorks以及RTEMS等,其中VxWorks最小的尺寸只有8kB,有基于優(yōu)先級搶占式調(diào)度,并支持256個任務(wù)的優(yōu)先級,在該類系統(tǒng)中其虛擬內(nèi)存支持是可選項(xiàng),一般用于沒有MMU的系統(tǒng);ucLinux嵌入式操作系統(tǒng)的最小尺寸為100kB,其是非搶占式調(diào)度,一共支持40個任務(wù)優(yōu)先級,該系統(tǒng)不支持虛擬的內(nèi)存。
本文主要評測的嵌入式操作系統(tǒng)包括RTEMS和VxWorks,并且由于在市場中ucLinux也受到了比較廣泛的應(yīng)用,因此本文主要選取了RTEMS、VxWork以及ucLinux這3類嵌入式操作系統(tǒng)對其性能和實(shí)時性進(jìn)行評測、分析及比較,為選擇合適的嵌入式操作系統(tǒng)提供一定的參考依據(jù)。
2 ?分析實(shí)時性的度量指標(biāo)
實(shí)時性衡量指標(biāo)包括任務(wù)切換時間、中斷延遲時間、搶占時間、信號量混洗時間等,為了能夠?qū)⑶度胧讲僮飨到y(tǒng)的實(shí)時性能全面反映出來,本文主要對任務(wù)切換時間以及中斷延遲時間進(jìn)行了較為深入的探討。其中任務(wù)切換時間主要是指CPU的控制權(quán),從執(zhí)行任務(wù)時轉(zhuǎn)移到將要被執(zhí)行的任務(wù)所花費(fèi)時間整個過程的時間開銷,包括保存當(dāng)前任務(wù)的上下文以及選擇調(diào)度新的任務(wù)和恢復(fù)新任務(wù);中斷延遲時間主要是指從發(fā)生到中斷系統(tǒng)執(zhí)行相關(guān)任務(wù)所需的時間,中斷就是整個反應(yīng)式系統(tǒng)中的重要部分,在很多的應(yīng)用場景中都需要觸發(fā)中斷來達(dá)到實(shí)時處理的目的。
3 ?面向航天系統(tǒng)的嵌入式操作系統(tǒng)實(shí)時性評測
3.1 實(shí)驗(yàn)的平臺
本文研究的硬件環(huán)境是一種以LEON-2芯片SPARC V8為基礎(chǔ)的嵌入式實(shí)驗(yàn)開發(fā)板S698-MIL。CPU的頻率為20MHz,ROM為512kB,F(xiàn)lash為16MB。
該類開發(fā)板由于使用了32位SOC芯片,所以具有較高的性能、集成度以及可靠性,在S698-MIL的內(nèi)部還配置了整數(shù)處理單元和浮點(diǎn)處理單元。
3.2 計(jì)時使用的方法
計(jì)時采用的是所使用設(shè)備內(nèi)自帶的定時器,在該類設(shè)備上的定時器有4個,可以通過讀取寄存器了解到對應(yīng)定時器上的數(shù)值,在讀取寄存器值時,可以選擇計(jì)時開始和計(jì)時結(jié)束兩種情況,這樣能夠有效計(jì)算出對應(yīng)的延遲時間。在該定時器內(nèi)其頻率可以到達(dá)20Hz,所以計(jì)時的精度可以精確到0.05μs,使計(jì)時更加精確和可靠。
4 ?實(shí)驗(yàn)結(jié)果及分析
4.1 實(shí)驗(yàn)的結(jié)果
本文主要對RTEMS、VxWorks以及ucLincx進(jìn)行評測分析,將測評的任務(wù)數(shù)分別定為4、20、50、150,其內(nèi)存負(fù)載都在1kB,要進(jìn)行反復(fù)的測試,一般需要測試100次左右,然后對平均值進(jìn)行統(tǒng)計(jì)。所有的測試都在S698-MIL上進(jìn)行,其所得到的測試結(jié)果如表1、表2所示。
4.2 分析評測結(jié)果
4.2.1 分析實(shí)時性
為了能夠?qū)?shí)驗(yàn)結(jié)果進(jìn)行更加直觀的分析,將上述實(shí)驗(yàn)結(jié)果制成如圖2所示的樣式,由于在同一測試數(shù)據(jù)中不同系統(tǒng)表現(xiàn)的數(shù)量級存在一定的差異,所以底取對數(shù)是以自然對數(shù)e為標(biāo)準(zhǔn),單位為μs,圖2中所有縱坐標(biāo)內(nèi)對數(shù)時間就是表示在實(shí)際是按中取對數(shù)的值。
由圖2可以看出,在實(shí)時性度量指標(biāo)的任務(wù)切換指標(biāo)中,Vx-Works擁有最優(yōu)的表現(xiàn),隨后是RTEMS和ucLinux,其中RTEMS與Vx-Works的差距不大。
由圖3可以看出,實(shí)時性度量指標(biāo)的中斷延遲時間指標(biāo)中,Vx-Linux擁有最優(yōu)的表現(xiàn),RTEMS與其的差距較大,ucLinux與以上兩類嵌入式操作系統(tǒng)的差距都相對較大,而且當(dāng)任務(wù)數(shù)在不斷上升時,會出現(xiàn)比較明顯的增大情況,因此可以知道該類嵌入式操作系統(tǒng)比較容易受到任務(wù)數(shù)量的影響。
4.2.2 分析實(shí)時穩(wěn)定性
根據(jù)相關(guān)研究可以知道,一般情況下Vx-Works的實(shí)時性能指標(biāo)在不同荷載下的標(biāo)準(zhǔn)差相對較小,說明其波動情況也較小,實(shí)時穩(wěn)定性比其他兩個嵌入式操作系統(tǒng)更優(yōu);RTEMS在不同的負(fù)荷下,分析其任務(wù)切換時間和中斷延遲時間,可以知道延遲的時間會隨著任務(wù)量負(fù)載的增大而出現(xiàn)波動情況,一般其波動在10%~20%之間,這類波動屬于較大的波動,但是基本上可以將其控制在規(guī)定的范圍內(nèi),但是如果信息量混洗時間的數(shù)據(jù)較大,RTEMS則會出現(xiàn)比較大的起伏,呈現(xiàn)了非常高的增長趨勢,表現(xiàn)出非常不穩(wěn)定的情況,這主要是因?yàn)镽TEMS的內(nèi)核設(shè)計(jì)機(jī)制不合理,比如其任務(wù)管理主要是借助雙向鏈表結(jié)構(gòu)進(jìn)行管理,在一般情況下,在鏈表中任務(wù)是按照優(yōu)先級大小排列,當(dāng)滿足條件時,就會在有序鏈表中需要插入任務(wù),而對插入定位的位置進(jìn)行計(jì)算則會花費(fèi)較多時間,隨著不斷增大任務(wù)規(guī)模,在鏈表中就會進(jìn)入很多滿足條件的任務(wù),時間的開銷也會不斷增大,這樣數(shù)據(jù)就會出現(xiàn)較大的波動情況,如果在航天系統(tǒng)中使用該類嵌入式操作系統(tǒng),則應(yīng)該將RTEMS在信號量方面的設(shè)計(jì)技術(shù)進(jìn)行優(yōu)化,或者可以使用其他操作系統(tǒng)。ucLinux的波動幅度普遍較大,因此不能夠滿足航天系統(tǒng)實(shí)時穩(wěn)定性的要求。所以通過評測3個嵌入式操作系統(tǒng)可以知道VxWorks具有較好的穩(wěn)定性和確定性,在測試相關(guān)的時間性能指標(biāo)時,隨著不斷增大系統(tǒng)的負(fù)載,其延遲的時間波動都會保持在10%以內(nèi),所以時間確定性非常良好。
5 ?結(jié)語
本文以Rhealstone方法為基礎(chǔ)提出了一個相對較為科學(xué)的嵌入式操作系統(tǒng)評價體系測量和比較目前比較主流應(yīng)用于航天領(lǐng)域的三類嵌入式操作系統(tǒng)的實(shí)時性。通過對VxWorks、RTEMS以及ucLinux這3類嵌入式操作系統(tǒng)進(jìn)行評測,可以知道:VxWorks的實(shí)時性能最優(yōu),而ucLinux的實(shí)時性能則無法滿足目前航天領(lǐng)域?qū)崟r性要求。本文對此進(jìn)行研究,希望使用的評測方法和評測數(shù)據(jù)能夠?yàn)楹教祛I(lǐng)域選擇嵌入式實(shí)時操作系統(tǒng)時提供一定的參考,從而在一定程度上推動航天領(lǐng)域的進(jìn)一步發(fā)展。
參考文獻(xiàn)
[1] 朱亞杰,王勁強(qiáng),石志成,等.淺談嵌入式操作系統(tǒng)在航天領(lǐng)域中的應(yīng)用[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2013,13(5):7-10.
[2] 董佳梁,李彥峰,楊秋松,等.面向航天系統(tǒng)的嵌入式操作系統(tǒng)實(shí)時性評測[J].計(jì)算機(jī)工程與設(shè)計(jì),2013,34(1):114-120.
[3] 許璐璐.支持對稱多核處理器的嵌入式實(shí)時操作系統(tǒng)研究與實(shí)現(xiàn)[D].中國航天科技集團(tuán)公司第一研究院,2016.