999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種航天用Linux 系統工程化方法

2023-11-10 01:40:54張天湘黃建軍李皖玲
上海航天 2023年5期
關鍵詞:分析系統

張天湘,黃建軍,李皖玲,孫 勇

(1.北京空間飛行器總體設計部,北京 100094;2.長城信息股份有限公司,湖南 長沙 410205)

0 引言

隨著技術的發展,尤其伴隨載人航天、深空探測等重大航天工程的實施,航天器功能和復雜度不斷得到提高,航天應用的軟件產品越來越多,規模越來越大[1-4]。對高可靠和穩定操作系統應用的需求越來越大,面對功能接口復雜的任務需求時,SpaceOS、Vxworks、QNX 等航天領域常用操作系統[5-9]存在驅動和第三方庫資源不夠豐富的問題[10-13]。同時,基于Linux 內核的系統具有穩定性、安全性、開源、便于移植、第三方支持廣泛等優點,被廣泛應用于服務器領域、銀行系統、汽車、高鐵、軍用等高可靠場景[14-17]。在面對復雜功能和接口的航天領域應用時,基于Linux的操作系統具有應用的可行性[18-20]。

航天作為高投入高風險行業,軟件產品質量直接影響航天任務的成敗,因此對軟件的可靠性和安全性提出了更高的要求。通過保證軟件的可靠性,提高和確定整個產品的可靠性在航天領域至關重要[21-23]。其中軟件工程化是保證軟件質量的有效方法[14]。由于國內航天領域要求軟件代碼需經過充分分析和評測[24],因此Linux 系統在航天領域的應用面臨分析、評測等工程化問題。基于Linux 內核的系統軟件規模龐大(根據應用情況一般高達數百萬行),按照正常的工程化方案無法實施,本文結合工程實際,探討航天領域嵌入式Linux應用的工程化方法。

1 工程化思路

在載人航天儀表系統領域,典型的基于嵌入式Linux 的系統軟件組成如圖1 所示。由圖1 可知,該軟件主要有UBOOT 模塊、Linux 內核、板級支持包模塊和圖形庫模塊。

圖1 嵌入式Linux 系統軟件框架Fig.1 Framework of the embedded Linux system

由于Linux 系統軟件的規模龐大,為了提高軟件的可靠性,保證人力物力的最優化使用,就需要在測試過程中有重點的進行分析和評測[26]。因此需對系統軟件的代碼進行重點與非重點的劃分,根據不同的情況,開展可靠性保證工作。主要流程如圖2所示。

圖2 基于Linux 的系統軟件工程化流程Fig.2 Process of Linux system software engineering

1)結合用戶層需求梳理應用層涉及到的操作系統功能模塊,選用穩定的內核版本,使用專業工具,進行代碼裁剪和提煉。主要包括對操作系統的代碼進行功能代碼定位,劃分代碼重點與非重點,縮小代碼范圍。

2)針對劃分結果和圈定范疇,制定軟件可靠性保證方案,經評審后實施。

3)根據不同的模塊,分別制定專項的可靠性驗證措施。其中UBOOT 模塊和板級支持包模塊為新研軟件,按照航天軟件工程化實施細則實施;對于商用Linux 內核和圖形庫模塊,根據提煉重點進行針對性的測試和保證。

4)各模塊經過驗證后,根據Linux 操作系統的特點,采取相應的專項保證措施。

5)完成開發方軟件可靠性保證工作后,進行第三方測試、分系統級和系統級測試驗證,經評審通過后,完成軟件保證總結。

2 工程化方法

2.1 代碼裁剪和提煉

代碼裁剪針對具體的應用需求和系統內核版本進行裁剪,降低系統無關冗余代碼,主要針對內核和圖形庫模塊。UBOOT 模塊僅保留系統需要的引導模塊,代碼量由百萬萬余行降低至不足3 000 行,板級支持包為7 000 余行。裁剪穩定版本的內核,規模由千萬行經過裁剪降至40 余萬行,圖形庫規模由80 萬行裁剪至30 萬行。

根據應用需求的重要程度和安全等級,對裁剪后的Linux 系統軟件的任務功能進行梳理,并按照是否影響任務成敗因素劃分關鍵等級,作為代碼提煉的初始條件,同時搭建硬件動態測試環境。

針對Linux 系統軟件各功能及函數的調用分析,采用Valgrind 工具完成。使用Valgrind 工具運行應用軟件,操作應用軟件的各項功能,動態分析系統軟件調用情況,得出系統軟件函數調用關系圖。關系圖能夠清楚地顯示函數調用關系、調用次數、占用百分比等特征。通過對關系圖展開綜合分析,得出系統關鍵函數表。統計軟件提煉了Linux內核和圖形庫各能模塊的關鍵函數,為后續軟件可靠性質量保證劃定了范圍。

系統軟件中的UBOOT 模塊主要完成Linux 系統引導的工作,參照對應平臺進行自主研發。板級支持包模塊主要包括與外設有關的驅動代碼。2 個模塊代碼規模較小,均按新研制軟件開展工程化工作。

2.2 模塊測試和保證方案

為保證Linux 系統軟件的可靠性,需對裁剪提煉后的系統軟件進行各項測試,包括單元測試、部件測試、配置項測試、人工走查、靜態分析和動態測試,同時,分析系統軟件的故障模式及失效模式。從工程化可實施的角度,對系統軟件的不同模塊,分別制定工程化方案。

1)新研模塊(UBOOT 和板級支持包)

UBOOT 和板級支持包需配合全部源代碼的靜態分析、單元測試、人工走查和功能測試,進行配置項測試。

2)商用模塊(Linux 內核及圖形庫)

Linux 內核和圖形庫選用的商用穩定版本,措施主要包括對裁剪和提煉的代碼中的關鍵函數進行單元測試,結合用戶應用軟件完成動態跟蹤測試,最后進行完整的配置項測試驗證。

基于Linux 系統軟件進行配置項測試,主要測試項目包括功能測試及性能測試。其中系統引導模塊報告系統的運行環境初始化、系統代碼搬移和運行跳轉。系統內核模塊負責任務管理與調度、任務間同步與通信、時鐘管理、中斷管理、異常管理功能、內存管理、文件系統管理、I/O 系統、C 語言函數庫、軟件升級和下載功能。圖形庫程序模塊包括顯卡初始化模塊、基本圖元繪制接口、著色接口、基本控件接口、頁面生成接口、幀緩存接口、坐標轉換、投影變換函數等接口。

在開展相關測試的同時,需進行系統軟件的故障樹分析和失效模式分析,保證系統軟件的可靠性,主要工作內容如下。

1)故障樹分析

通過對系統軟件進行故障分析,指導軟件的可靠性和安全性設計,同時確定軟件測試的重點和內容,保證軟件的可靠性和安全性。對系統軟件進行軟件故障樹分析,得出故障發生時的底事件。為確保系統軟件的功能正常完成,通過設計、審查、測試等手段,避免保證相應底事件的發生。

2)失效模式分析

對操作系統進行軟件失效模式及影響分析(System Failure Mode and Effects Analysis,SFMEA),經分析找出軟件所有可能存在的、危害軟/硬件綜合系統可靠安全運行的失效模式,進而分析其產生的軟件或硬件的失效原因及影響,并在設計上采取相應的改進措施,以保證軟/硬件綜合系統的可靠安全運行。

2.3 專項保證方案

為了保證基于Linux 內核的系統軟件的可靠穩定,根據用戶應用和系統聯合展開針對性的專項測試,具體測試項目如下所示。

1)供調用資源復核

編寫系統軟件測試用例,監測系統軟件對應用軟件提供的各種資源,包括文件系統、內存資源、寄存器、數據緩沖區等進行測試,分析數據正常及異常時資源的使用情況,驗證系統軟件在正常情況下、臨界情況及溢出情況下是否有保護機制及容錯措施。將分析結果及使用約束,落實到系統軟件和應用軟件的接口文檔中,作為其應用軟件研制的依據。

2)內存監測分析

由于應用程序持續的動態使用內存,如果不及時釋放,隨著時間延長,內存使用量越來越大,最終崩潰。Linux 系統軟件的內存空間是經過重映射的,用戶使用的內存地址不對應實際內存地址。內存地址分為內核態和用戶態,內核訪問內存地址和應用軟件訪問內存地址分開,不能直接互相訪問,需調用特殊的函數訪問,確保用戶進程任務無法破壞系統內存,保障系統穩定。用戶進程任務使用內存地址也完全獨立,使得各個用戶進程之間不影響。

通過Valgrind 檢測應用程序進程,分析內存使用釋放情況,杜絕應用軟件運行中出現內存泄漏、數組越界、除數為零、非法地址訪問等操作的可能性,確保系統可靠運行。

3)數學庫函數驗證

應用軟件會根據用戶需要進行數學計算,調用系統軟件的數學庫函數。如果數學庫函數的計算值有誤,會導致應用任務執行失敗,因此需逐一驗證系統軟件內的數學庫函數。具體驗證方法是:針對某一函數,在不同的取值空間范圍內取10 個數據進行測試,包含對邊界數據的測試,確保數學庫函數計算的數據準確可靠。

4)編譯選項復核

軟件編譯過程中的編譯選項會影響軟件編譯后的可執行文件。調試系統后,修改編譯選項生成調試版本,調試版本與最終版本程序相比,只是在程序中加入了調試信息,其他相同。對系統軟件及應用軟件編譯過程中用到的編譯選項進行復核,不能隨意變更軟件的編譯選項。

5)錯誤碼提示分析

系統軟件定義了一套錯誤碼,在軟件出現錯誤或崩潰時,提供錯誤信息幫助用戶快速定位錯誤位置。針對系統軟件錯誤碼,編譯測試用例進行錯誤碼提示分析,保證錯誤提示的可靠。驗證錯誤碼提示時,檢查系統軟件對錯誤狀態是否有相應的保護及容錯機制,分析對應用軟件功能實現的影響。

6)異常處理

系統軟件應具備異常處理(CPU 執行指令異常、非法地址訪問等)的功能,使用應用軟件進行邊界測試、訪問非法地址等手段制造異常,檢測系統軟件的異常處理能力,確保囊括所有的異常情況。

7)圖形庫模塊分析

圖形庫采用開源軟件穩定版本,被廣泛應用于工業控制系統、功能手機、數碼相框等類型的產品中。此外,對系統軟件的圖形庫模塊進行專項分析,測試圖形庫實現的按鈕、文本框、編輯框、輸入法等,對界面顯示和視頻流顯示的畫中畫效果、顯示切換效果編寫測試用例進行測試。圖形庫的測試用例涵蓋圖形庫的各個功能,測試圖形顯示效果符合應用需求。

8)運行瓶頸分析

進行系統軟件的瓶頸分析是實現系統軟件最優性能的常用方法。系統硬件定型后,系統各個子系統資源確定,一般與系統性能相關的子系統有CPU、內存、驅動和網絡。分析應用軟件資源占用率,明確存在影響應用軟件的運行瓶頸的子系統,通過優化程序結構,實現系統運行最優化。

9)運行競態分析

Linux 系統軟件是多進程多線程系統,各個進程和線程是并行運行的。進程和線程的數據共享采用共享內存、隊列、信號燈等方式。并行運行的各個進程和線程會產生競態冒險等問題,所以對應用軟件使用競態分析,合理運行自旋鎖、信號燈等機制,確保程序運行穩定、結果唯一。

2.4 第三方評測與系統驗證

完成開發方的軟件可靠性保證后,設備需進行第三方評測與系統驗證。操作系統和應用程序共同運行在真實設備平臺上,并以真實設備連接至設備各外部接口,實現對設備的輸入、輸出及響應。在分系統級和系統級測試環境中,模擬真實信息輸入,開展產品軟硬件性能聯合測試。同步開展的第三方評測專家結合工程化方案中的評測項目和內容,按照工程化要求,完成對UBOOT 和板級支持包代碼的需求說明、編碼規范檢查、人工走查、動態測試等相關項目。對商用部分的Linux 內核及圖形庫提煉的函數接口及代碼文件,參考保證方案有重點的完成相關項目。

完成開發方、分系統用戶、總體用戶和第三方評測等所有驗證工作后,基于Linux 內核的系統軟件,經航天器真實運行環境下的考核驗證,利用航天器初樣和正樣進行各項測試試驗,完成軟件可靠性工程化的考核,最終執行航天任務。

3 工程化實踐

為應對單粒子等空間環境,在工程實施過程中,在產品設計層面增加2 項措施:1)設計監控進程中,監測其他用戶進程,針對周期性進程采用計數監測,發現計數異常越界后重啟該進程;針對非周期性進程采用狀態監測,對非預期狀態進行進程重啟。2)系統程序內核和文件系統采用分區雙備份方案,在啟動過程中,識別系統復位日志,選擇可靠的固件加載系統軟件。

截至目前,工程化后的系統軟件已隨載人航天器在軌工作2 年,工作狀況穩定。

4 結束語

本文根據航天應用的需求和Linux 系統的特點,結合工程實際,提出一種基于Linux 的系統軟件工程化方法,并加以實踐。按照新研部分和商用部分的劃分系統軟件,根據應用的需求和軟件的特點,對不同的軟件模塊制定相應的測試和保證方案,驗證基于Linux 內核的系統軟件可靠性和安全性,滿足航天器型號軟件工程化管理的要求。在航天任務實踐中增加監護進程和雙備份固件方法,保證了系統和產品的可靠運行,為其他相關領域操作系統軟件的應用和工程化提供了一個解決思路。

猜你喜歡
分析系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
隱蔽失效適航要求符合性驗證分析
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
電力系統不平衡分析
電子制作(2018年18期)2018-11-14 01:48:24
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
電力系統及其自動化發展趨勢分析
中西醫結合治療抑郁癥100例分析
主站蜘蛛池模板: 91久草视频| 成人91在线| 久久久久九九精品影院| 伊人网址在线| 成人综合网址| 国产成人AV综合久久| 视频一区视频二区中文精品| 国产不卡网| 天堂av高清一区二区三区| 精品视频第一页| 久久久久亚洲AV成人人电影软件| 91黄色在线观看| 国产精品亚洲а∨天堂免下载| 在线网站18禁| 无码国产偷倩在线播放老年人| 人人看人人鲁狠狠高清| 国产精品香蕉在线观看不卡| 亚洲第一黄片大全| www亚洲天堂| 亚洲免费人成影院| 青青操视频在线| 欧洲日本亚洲中文字幕| 亚洲精品高清视频| h网站在线播放| 精品午夜国产福利观看| 无码人妻热线精品视频| 久久精品嫩草研究院| 欧亚日韩Av| 真实国产乱子伦视频| 国模视频一区二区| 爱做久久久久久| 亚洲第一中文字幕| 亚洲av无码牛牛影视在线二区| 国产欧美日韩在线在线不卡视频| 亚洲欧美日韩中文字幕在线一区| 亚洲精品桃花岛av在线| 亚洲国产天堂久久综合| 亚洲无码高清免费视频亚洲 | 国产91丝袜在线播放动漫 | 亚洲另类色| 日韩国产精品无码一区二区三区| 尤物精品国产福利网站| 麻豆精品在线视频| 亚卅精品无码久久毛片乌克兰 | www欧美在线观看| h视频在线播放| 午夜一级做a爰片久久毛片| 国产在线精彩视频二区| 国产成人高精品免费视频| 久久a级片| 欧美午夜小视频| 精品久久国产综合精麻豆| 免费AV在线播放观看18禁强制| 国产成年女人特黄特色大片免费| 国产精品入口麻豆| 五月婷婷综合色| 久草视频精品| 97se亚洲综合不卡 | 手机在线国产精品| 亚洲乱亚洲乱妇24p| 最新无码专区超级碰碰碰| 国产大片喷水在线在线视频| 免费高清毛片| 毛片网站在线播放| 亚洲精品你懂的| 亚洲成人高清在线观看| 99re热精品视频国产免费| 尤物特级无码毛片免费| 72种姿势欧美久久久大黄蕉| 国产91特黄特色A级毛片| 精品国产美女福到在线直播| 日本一区中文字幕最新在线| 亚洲精品无码av中文字幕| 狠狠v日韩v欧美v| 91原创视频在线| 婷五月综合| 国内精品视频在线| 亚洲综合色在线| 4虎影视国产在线观看精品| 国产成人91精品免费网址在线| 亚洲欧洲日韩综合| 91蜜芽尤物福利在线观看|