隨著當(dāng)今軍事電子行業(yè)的不斷發(fā)展和復(fù)雜性的增加,舊技術(shù)往往會(huì)過時(shí),從而需要標(biāo)準(zhǔn)化的開發(fā)工具。這些復(fù)雜的軍事應(yīng)用程序也可能帶來許多挑戰(zhàn),包括使特定于操作系統(tǒng)的代碼在不同的操作系統(tǒng)上運(yùn)行。因此,可行的具有成本效益和資源效率的補(bǔ)救措施包括通過移植和抽象跨多個(gè)平臺(tái)回收和共享軟件。
隨著當(dāng)今軍事電子行業(yè)的不斷發(fā)展和復(fù)雜性的增加,舊技術(shù)往往會(huì)過時(shí),從而需要標(biāo)準(zhǔn)化的開發(fā)工具。這些復(fù)雜的軍事應(yīng)用程序也可能帶來許多挑戰(zhàn),包括使特定于操作系統(tǒng)的代碼在不同的操作系統(tǒng)上運(yùn)行。因此,可行的具有成本效益和資源效率的補(bǔ)救措施包括通過移植和抽象跨多個(gè)平臺(tái)回收和共享軟件。
嵌入式行業(yè)不斷變化和發(fā)展,通常會(huì)使舊技術(shù)過時(shí),并產(chǎn)生對(duì)更標(biāo)準(zhǔn)化開發(fā)工具的需求。由于軍事系統(tǒng)應(yīng)用經(jīng)常龐大而復(fù)雜,適應(yīng)快速的創(chuàng)新可能會(huì)帶來巨大的挑戰(zhàn)。因此,開發(fā)人員在使特定于操作系統(tǒng)的代碼在不同的操作系統(tǒng)上運(yùn)行以及在設(shè)計(jì)時(shí)考慮到不斷變化的技術(shù)時(shí)面臨障礙。在整個(gè)軍事和國防系統(tǒng)行業(yè)中,跨多個(gè)平臺(tái)回收和共享軟件的想法
正迅速成為一種流行的思維方式,因?yàn)樗^對(duì)具有成本和資源效率。
在新操作系統(tǒng)平臺(tái)上回收應(yīng)用程序
軍事系統(tǒng)中的嵌入式軟件不斷發(fā)展,以跟上不斷變化的市場(chǎng)需求,以及
硬件和軟件平臺(tái)技術(shù)。這些進(jìn)步通常會(huì)產(chǎn)生新的系統(tǒng)需求,并可能導(dǎo)致某些技術(shù)過時(shí),因此有必要進(jìn)行平臺(tái)升級(jí)或操作系統(tǒng)更改。開發(fā)人員需要利用他們現(xiàn)有的軟件和知識(shí)庫,而不是從頭開始重寫軟件并放棄在開發(fā)中的投資。
因此,軍事工業(yè)對(duì)將現(xiàn)有嵌入式軟件移植到升級(jí)平臺(tái)或新操作系統(tǒng)的興趣日益濃厚。這實(shí)質(zhì)上允許開發(fā)人員“回收”他們的軟件,從而消除了
昂貴的重寫和浪費(fèi)的投資。
但是,使為一個(gè)操作系統(tǒng)編寫的軟件在另一個(gè)操作系統(tǒng)上運(yùn)行是一項(xiàng)艱巨且耗時(shí)的任務(wù),并且有許多容易出錯(cuò)的陷阱,因?yàn)槊總€(gè)操作系統(tǒng)在許多方面都不同。一個(gè)簡(jiǎn)單的例子是每個(gè)操作系統(tǒng)提供的任務(wù)優(yōu)先級(jí)級(jí)別。例如,在標(biāo)準(zhǔn)Linux 下,優(yōu)先級(jí)范圍從 0 到 99;對(duì)于 VxWorks,范圍為 0 到 255;對(duì)于 LynxOS,范圍為 0 到 512;對(duì)于 Solaris,范圍是 0 到169 個(gè)優(yōu)先級(jí)。要讓軟件在具有此類不一致的新操作系統(tǒng)平臺(tái)上運(yùn)行,需要重寫和重組軟件。為了加快這種復(fù)雜的任務(wù),開發(fā)人員需要一個(gè)提供熟悉的API的工具,以消除新操作系統(tǒng)的學(xué)習(xí)曲線并減少項(xiàng)目的研究和開發(fā)時(shí)間。此工具應(yīng)處理有問題的任務(wù)優(yōu)先級(jí)變化和其他操作系統(tǒng)不一致,以幫助舊版軟件輕松適應(yīng)新的操作系統(tǒng)平臺(tái)(參見圖 1)。
圖1
跨操作系統(tǒng)平臺(tái)共享應(yīng)用程序:規(guī)劃未來
軍事系統(tǒng)應(yīng)用程序通常龐大而復(fù)雜,需要能夠相互通信并在具有各種操作系統(tǒng)的分布式計(jì)算機(jī)系統(tǒng)上運(yùn)行。陸軍未來作戰(zhàn)系統(tǒng)(FCS)是迄今為止最大的國防部項(xiàng)目,被政府問責(zé)局(GAO)描述為“一項(xiàng)前所未有的事業(yè)”,“隨著FCS設(shè)計(jì)的需求得到更好的理解,它將繼續(xù)增長(zhǎng)”。
盡管需要對(duì)設(shè)計(jì)進(jìn)行修改,但每次應(yīng)用程序的技術(shù)要求發(fā)生變化或需要使用新技術(shù)時(shí),重新配置系統(tǒng)是不合邏輯的。
鑒于這些問題,整個(gè)行業(yè)正在迅速意識(shí)到規(guī)劃未來的必要性。開發(fā)人員正在尋求利用操作系統(tǒng)抽象工具來編寫高度可移植的軟件,該軟件允許跨各種系統(tǒng)的多個(gè)應(yīng)用程序之間進(jìn)行通信,并且無需將來重寫和昂貴的維護(hù)。然而,設(shè)計(jì)內(nèi)部操作系統(tǒng)抽象是一項(xiàng)復(fù)雜的任務(wù),類似于設(shè)計(jì)一個(gè)全新的操作系統(tǒng),需要適應(yīng)現(xiàn)在和未來的應(yīng)用程序。這需要大量的開發(fā)工作和維護(hù),從而將注意力從開發(fā)人員的核心項(xiàng)目上移開。
很難設(shè)計(jì)一個(gè)操作系統(tǒng)抽象,其中包含滿足應(yīng)用程序所有需求的所有特性和功能,因此它不依賴于底層操作系統(tǒng)的任何功能(例如:printf())。它還需要花費(fèi)大量精力來設(shè)計(jì)一個(gè)抽象,允許將來擴(kuò)展功能,而不會(huì)失去現(xiàn)有應(yīng)用軟件的向后兼容性。此外,設(shè)計(jì)需要考慮缺少某些 API 特性和功能,這些特性和功能僅在某些操作系統(tǒng)上可用,而在其他操作系統(tǒng)上不可用。
真正的操作系統(tǒng)抽象不僅應(yīng)該抽象 API,還應(yīng)該抽象數(shù)據(jù)類型、頭文件和符號(hào)定義。操作系統(tǒng)抽象需要允許快速添加新的操作系統(tǒng)支持,而無需更改現(xiàn)有的應(yīng)用程序軟件。但是,這需要通過在多個(gè)操作系統(tǒng)上實(shí)現(xiàn)操作系統(tǒng)抽象解決方案來進(jìn)行昂貴的測(cè)試,以確保它允許應(yīng)用程序在不同的操作系統(tǒng)上運(yùn)行而無需更改軟件。當(dāng)需要更改軟件以將應(yīng)用程序移動(dòng)到新平臺(tái)時(shí),它完全違背了操作系統(tǒng)抽象設(shè)計(jì)的目的。很難知道應(yīng)用程序?qū)⑹褂玫拿總€(gè)操作系統(tǒng)(或操作系統(tǒng)版本),因?yàn)檫@需要預(yù)測(cè)未來
,以便規(guī)劃對(duì)應(yīng)用程序要求的所有更改。也很難正確預(yù)測(cè)計(jì)劃的操作系統(tǒng)是否始終可用且最新,也很難規(guī)劃尚未發(fā)布的新操作系統(tǒng)。
為了適應(yīng)未來的需求并避免如此復(fù)雜的項(xiàng)目,開發(fā)人員需要一個(gè) COTS 操作系統(tǒng)抽象,以便輕松開發(fā)便攜式軟件。抽象需要允許設(shè)計(jì)更改,而無需軟件重寫,從而保護(hù)軟件投資。這種抽象工具的設(shè)計(jì)應(yīng)具有對(duì)國防和任務(wù)系統(tǒng)至關(guān)重要的安全關(guān)鍵功能,同時(shí)又不犧牲實(shí)時(shí)性能(見圖2)。
圖2
保護(hù)操作系統(tǒng)投資
軍事系統(tǒng)開發(fā)人員需要利用現(xiàn)有的知識(shí)庫來消除學(xué)習(xí)曲線,并通過開發(fā)便攜式應(yīng)用程序來保護(hù)軟件投資。例如,MapuSoft Technologiesí OSChanger和OS Abstractor使開發(fā)人員能夠重用軟件并適應(yīng)未來的變化。這些產(chǎn)品旨在克服操作系統(tǒng)的不一致,使開發(fā)可移植代碼變得毫不費(fèi)力,同時(shí)包括高級(jí)安全關(guān)鍵和應(yīng)用程序性能功能。
審核編輯:郭婷
-
嵌入式
+關(guān)注
關(guān)注
5175文章
19986瀏覽量
324568 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
7262瀏覽量
127926
發(fā)布評(píng)論請(qǐng)先 登錄
高效開發(fā) | 瑞迅基于瑞芯微系列主板QT移植部署(上)

CYW43907系列在ModusToolbox的工程是否可以移植到Keil uVision中?
機(jī)智云配網(wǎng)教程第三期:?jiǎn)纹瑱C(jī)代碼移植實(shí)戰(zhàn)

STM32與機(jī)智云連接實(shí)現(xiàn)步驟與技巧(下篇):機(jī)智云代碼移植與優(yōu)化

維愛普軍用電源濾波器廠家:軍事設(shè)備供電的“穩(wěn)定基石”
系統(tǒng)建模與抽象層次:從模塊到物理實(shí)現(xiàn)

ElfBoard技術(shù)貼|如何在ELF 1開發(fā)板上交叉移植Qt

軍事應(yīng)用中深度學(xué)習(xí)的挑戰(zhàn)與機(jī)遇
詳解Object Detection Demo的移植

LabVIEW抽象消息使用教程(上)

HAL庫在嵌入式系統(tǒng)中的應(yīng)用
淺談電磁兼容系統(tǒng)
多平臺(tái)FPGA工程快速移植與構(gòu)建

【北京迅為】i.mx8mm嵌入式linux開發(fā)指南第四篇 嵌入式Linux系統(tǒng)移植篇第六十九章uboot移植

評(píng)論