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视频青青草| 久久精品日日躁夜夜躁欧美| 欧美人人干| 97se亚洲| 最新亚洲av女人的天堂| 国产精品护士| 毛片在线看网站| 国产主播一区二区三区| 97视频在线精品国自产拍| 666精品国产精品亚洲| 国产免费观看av大片的网站| 毛片视频网| 欧美日韩高清在线| 夜夜爽免费视频| 男女性午夜福利网站| 亚洲妓女综合网995久久| 9啪在线视频| 日韩高清无码免费| 国产日韩久久久久无码精品| 精品久久香蕉国产线看观看gif| 国产欧美日韩一区二区视频在线| 国产成人凹凸视频在线| 青青国产在线| 欧美区国产区| 久久综合色视频| 欧美三级自拍| 成人精品免费视频| 在线视频亚洲色图| 手机永久AV在线播放| 伊人色天堂| 亚洲天堂视频网站| 91精品国产丝袜| 波多野结衣中文字幕一区| 国产成人高清精品免费5388| 天天综合网亚洲网站| 婷婷五月在线视频| 日本福利视频网站| 粉嫩国产白浆在线观看| 中文字幕不卡免费高清视频| 成人无码区免费视频网站蜜臀| 99热这里只有精品免费国产| 欧美a在线看| 久久久久亚洲精品成人网 | 台湾AV国片精品女同性| 国产精品无码久久久久久| 国产主播喷水| 久久一本日韩精品中文字幕屁孩| 中文字幕永久视频| 亚洲综合一区国产精品| 熟妇丰满人妻| 亚洲婷婷丁香| 国产综合亚洲欧洲区精品无码| 999国内精品久久免费视频| 欧美日韩国产在线人| 人妻丰满熟妇αv无码| 在线免费不卡视频| a色毛片免费视频| 国产福利一区二区在线观看| 亚洲中字无码AV电影在线观看| 永久免费无码成人网站| 亚洲一区二区三区在线视频| 欧美激情视频在线观看一区| 国产精品女人呻吟在线观看| 国产午夜福利片在线观看 | 国产精品亚洲а∨天堂免下载| 在线欧美国产| 久久国产精品国产自线拍| 午夜电影在线观看国产1区| 国产主播在线一区| 日韩A∨精品日韩精品无码| 欧美亚洲欧美区| 自拍中文字幕| 亚洲国产无码有码| 视频一本大道香蕉久在线播放 | 69国产精品视频免费| 亚洲国产精品无码AV| 911亚洲精品| 97在线免费视频| 爽爽影院十八禁在线观看| 国产成人高清精品免费软件| 伊在人亞洲香蕉精品區|