《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 設(shè)計(jì)應(yīng)用 > 一種多架構(gòu)應(yīng)用軟件開(kāi)發(fā)及運(yùn)行方法研究與實(shí)現(xiàn)
一種多架構(gòu)應(yīng)用軟件開(kāi)發(fā)及運(yùn)行方法研究與實(shí)現(xiàn)
2020年信息技術(shù)與網(wǎng)絡(luò)安全第9期
魯 振,胡堅(jiān)升,李名揚(yáng)
中軟信息系統(tǒng)工程有限公司,北京102209
摘要: 對(duì)國(guó)產(chǎn)基礎(chǔ)軟件運(yùn)行環(huán)境及運(yùn)行依賴庫(kù)進(jìn)行了研究,提出了一種多架構(gòu)應(yīng)用軟件開(kāi)發(fā)及運(yùn)行方法,并在FT1500A、X86(CPU)與麒麟(OS)相組合的兩類(lèi)架構(gòu)環(huán)境上實(shí)現(xiàn)了該方法。運(yùn)行結(jié)果表明,該方法能夠提供良好的多架構(gòu)應(yīng)用軟件開(kāi)發(fā)及運(yùn)行服務(wù),為國(guó)產(chǎn)基礎(chǔ)軟硬件生態(tài)的軟硬件適配、整體解決方案提供技術(shù)支撐。
中圖分類(lèi)號(hào): TP311
文獻(xiàn)標(biāo)識(shí)碼: A
DOI: 10.19358/j.issn.2096-5133.2020.09.006
引用格式: 魯振,胡堅(jiān)升,李名揚(yáng). 一種多架構(gòu)應(yīng)用軟件開(kāi)發(fā)及運(yùn)行方法研究與實(shí)現(xiàn)[J].信息技術(shù)與網(wǎng)絡(luò)安全,2020,39(9):28-33.
Research and implementation of a multi-architecture application software development and operation method
Lu Zhen,Hu Jiansheng,Li Mingyang
CS&S Information System Engineering Co.,Ltd.,Beijing 102209,China
Abstract: This paper studied the running environment and running dependency library based on the domestic basic software ecosystem, and proposed a multi architecture application software development and a running method. The running method has been implemented on FT1500A and X86(CPU)+Kylin(OS) architecture environments. The running results show that the method can provide good services for multi architecture software development and operation, and can provide technical support for the software and hardware adaptation and solid foundation for domestic basic software and hardware ecology.
Key words : multi-CPU architecture;application software development;ecosystem;core operating framework;sandbox

1 背景介紹

1.1 現(xiàn)狀分析

    近年來(lái),以自主CPU+OS為核心的國(guó)產(chǎn)基礎(chǔ)軟硬件生態(tài)體系不斷發(fā)展和完善,但仍存在一些短板和弱項(xiàng),比如基礎(chǔ)軟件方面,操作系統(tǒng)多是基于開(kāi)源的Linux系統(tǒng),經(jīng)常會(huì)導(dǎo)致軟件開(kāi)發(fā)與運(yùn)行存在運(yùn)行依賴庫(kù)不規(guī)范、應(yīng)用軟件版本混亂、沖突等問(wèn)題。基于系統(tǒng)開(kāi)發(fā)和運(yùn)行的實(shí)踐,當(dāng)前國(guó)產(chǎn)基礎(chǔ)軟件生態(tài)體系主要存在以下四個(gè)方面的問(wèn)題。

    (1)開(kāi)發(fā)嚴(yán)重碎片化。Linux上存在太多的開(kāi)發(fā)庫(kù),國(guó)產(chǎn)操作系統(tǒng)缺少一套類(lèi)似微軟.NET框架的統(tǒng)一開(kāi)發(fā)解決方案,開(kāi)發(fā)者難以選擇最佳的開(kāi)發(fā)語(yǔ)言、開(kāi)發(fā)庫(kù)和開(kāi)發(fā)環(huán)境,比如對(duì)C/C++而言,主流的用戶界面(UI)程序開(kāi)發(fā)有Gtk、Qt、WxWidget三種,同時(shí)Gtk本身又有Gtk2和Gtk3系列[1],Qt有Qt4和Qt5區(qū)分。Linux應(yīng)用軟件開(kāi)發(fā)者需要一套開(kāi)發(fā)和運(yùn)行的行業(yè)標(biāo)準(zhǔn),解決開(kāi)發(fā)框架選擇難、開(kāi)發(fā)文檔少或無(wú)、開(kāi)發(fā)庫(kù)版本多、開(kāi)發(fā)接口不統(tǒng)一等問(wèn)題。

    (2)權(quán)限控制機(jī)制存在安全隱患。主流的國(guó)產(chǎn)操作系統(tǒng)使用基于用戶角色的權(quán)限控制機(jī)制,應(yīng)用一般具備諸如訪問(wèn)用戶文件[2]、訪問(wèn)其他應(yīng)用數(shù)據(jù)[3]、使用網(wǎng)絡(luò)和外部設(shè)備[4]等權(quán)限。雖然大多數(shù)的Linux發(fā)行版(典型的如Debian、Ubuntu、Redhat、Centos)都提供自身的軟件包維護(hù)機(jī)制,用戶往往也使用值得信賴的源下載應(yīng)用,但病毒往往也會(huì)利用應(yīng)用程序這條路徑植入傳播。用戶對(duì)一些程序的非法操作往往會(huì)導(dǎo)致嚴(yán)重的安全問(wèn)題,給自身帶來(lái)極大的困擾。例如用戶使用的應(yīng)用程序需要訪問(wèn)網(wǎng)絡(luò)時(shí),有可能會(huì)從不安全的站點(diǎn)下載惡意程序,執(zhí)行一些非法操作,如盜取用戶的敏感信息,干擾用戶的日常工作、數(shù)據(jù)安全和個(gè)人隱私等,用戶需要一種有效的保護(hù)計(jì)算機(jī)安全的方法,比如利用沙箱技術(shù)給應(yīng)用程序提供隔離的運(yùn)行空間。

    (3)跨架構(gòu)應(yīng)用移植不統(tǒng)一。應(yīng)用軟件可移植性越來(lái)越受到關(guān)注,諸如Java、Python等語(yǔ)言都提供一套虛擬機(jī)用于屏蔽底層處理器和操作系統(tǒng)差異[5],但是對(duì)于C/C++等平臺(tái)相關(guān)編程語(yǔ)言,目前缺少一種跨架構(gòu)的可移植開(kāi)發(fā)運(yùn)行解決方案[6]。

    (4)應(yīng)用軟件版本混亂。主流的國(guó)產(chǎn)操作系統(tǒng)發(fā)行版都使用類(lèi)似RPM、DPKG等打包系統(tǒng)構(gòu)建,最大的特點(diǎn)是上游開(kāi)發(fā)者和下游軟件包維護(hù)者(打包者)明顯地區(qū)分開(kāi)。上游應(yīng)用開(kāi)發(fā)者編寫(xiě)代碼,下游發(fā)行者獲取并將其轉(zhuǎn)化(編譯、編寫(xiě)規(guī)則并重新打包)為RPM或DEB包;最后安裝到本地系統(tǒng)中。這種場(chǎng)景在一定程度上解決了包的風(fēng)險(xiǎn)問(wèn)題,因?yàn)檐浖S護(hù)者往往會(huì)選擇值得信賴和功能可靠的應(yīng)用,但是也難以避免地暴露一些問(wèn)題,上游應(yīng)用開(kāi)發(fā)者往往希望更高的發(fā)布速度,而事實(shí)上完全依賴下游發(fā)行者打包開(kāi)發(fā)的應(yīng)用,下游發(fā)行者決定具體的調(diào)度、申明、打包、提供支持等規(guī)則。應(yīng)用本身的實(shí)際測(cè)試變得十分困難,因?yàn)樽罱K用戶往往可能使用不同的包版本,應(yīng)用在某個(gè)發(fā)行版的某個(gè)版本下的測(cè)試,無(wú)法確定應(yīng)用在其他發(fā)行版和其他版本的任意組合下都能正常運(yùn)行;要測(cè)試應(yīng)用在某個(gè)發(fā)行版的某個(gè)版本下的運(yùn)行,開(kāi)發(fā)者往往需要安裝該發(fā)行版的版本環(huán)境,并編譯運(yùn)行該應(yīng)用,這將是一項(xiàng)繁雜的工作。




本文詳細(xì)內(nèi)容請(qǐng)下載:http://ihrv.cn/resource/share/2000003090




作者信息:

魯  振,胡堅(jiān)升,李名揚(yáng)

(中軟信息系統(tǒng)工程有限公司,北京102209)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。