李苗偉 馮東


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