• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      龍芯信息化平臺的應(yīng)用遷移工作思考

      2018-03-30 03:25:32靳國杰張戈高翔胡偉武
      網(wǎng)絡(luò)空間安全 2018年9期
      關(guān)鍵詞:龍芯

      靳國杰 張戈 高翔 胡偉武

      摘 要:“構(gòu)建安全可控的信息技術(shù)體系”已經(jīng)成為我國解決國家信息安全并提升產(chǎn)業(yè)競爭力的共識。龍芯CPU經(jīng)過多年發(fā)展,在相關(guān)信息化試點應(yīng)用的帶動下,底層軟硬件平臺逐步完善,在這種情況下,如何針對已有大量成熟的上層應(yīng)用進(jìn)行應(yīng)用遷移將成為打造自主軟硬件生態(tài)成敗的關(guān)鍵。由于大量應(yīng)用基于主流API(應(yīng)用編程接口)而不是ISA(CPU指令集)進(jìn)行開發(fā),因此應(yīng)用遷移的關(guān)鍵在于對主流API的良好兼容和支持。目前,龍芯CPU平臺已經(jīng)全面兼容主流編程語言和API,并積極投入API平臺軟件相關(guān)的開源社區(qū)生態(tài)建設(shè)。在此過程中,龍芯團(tuán)隊加強應(yīng)用遷移的技術(shù)支持與服務(wù)力量,并為應(yīng)用開發(fā)者提供應(yīng)用遷移指南教程與培訓(xùn),及時解決應(yīng)用遷移過程中遇到的各類問題,為構(gòu)建自主可控的信息技術(shù)體系提供有效提速手段。

      關(guān)鍵詞:龍芯;自主可控;安全可靠;軟件生態(tài);應(yīng)用遷移;API

      中圖分類號:TP274+.2 文獻(xiàn)標(biāo)識碼:B

      Abstract: Building a secure and controllable information technology architecture is the key point to insure national security. Loongson CPU has evolved for years with practice and cases in application.The self-designed CPU along with the fundamental software/hardware have reached a high stable level. Large amount of legacy application systems need to be migrated to Loongson platform. All typical API(Application Programming Interface) can run on Loongson platform, which facilitates the development and migration of applications. Loongson makes outstanding contributions to open-source community with thousands lines of software patches.Programmers can migrate their systems to Loongson platform in a short time with necessary guide and training service from Loongson.

      Key words: loongson; self-determination and controllability; security and reliability; software ecology;application migration; API

      1 引言

      安全可控信息體系是指核心信息技術(shù)和產(chǎn)品自主可控,能夠以此構(gòu)建實現(xiàn)安全可靠的信息技術(shù)體系。國內(nèi)的信息體系長期呈現(xiàn)應(yīng)用發(fā)達(dá)、基礎(chǔ)薄弱的不對等現(xiàn)象,需要從根本上改變CPU、操作系統(tǒng)兩大核心技術(shù)長期采用國外產(chǎn)品的現(xiàn)狀,在產(chǎn)品制造、產(chǎn)品供給、技術(shù)發(fā)展等各方面消除受制于人的命門,并且在此基礎(chǔ)上建立自主軟件生態(tài)。

      隨著自主軟硬件平臺在應(yīng)用中不斷提升成熟度,建設(shè)安全可靠信息體系的戰(zhàn)略面臨著重要轉(zhuǎn)軌,以前的主要矛盾聚焦于解決CPU、OS的自主研發(fā)問題,下一階段將逐步過渡到打造自主軟件生態(tài)的軌道上來。

      2 自主可控應(yīng)用推廣瓶頸從底層基礎(chǔ)軟硬件逐步轉(zhuǎn)向應(yīng)用遷移

      2.1 自十八大以來,在有關(guān)應(yīng)用試點的帶動下,龍芯CPU基礎(chǔ)平臺成熟度大幅度提高,正在從量的積累形成質(zhì)變

      具體體現(xiàn)在四個方面。

      (1)功能完整:龍芯平臺經(jīng)過多輪試點,在試點過程中聯(lián)合合作伙伴完善了包括操作系統(tǒng)、數(shù)據(jù)庫、中間件、Java虛擬機、核心瀏覽器、Flash等插件、虛擬化平臺以及實際用戶辦公場景下的大量打印機、掃描儀等外設(shè)產(chǎn)品適配,操作系統(tǒng)由32位升級為64位,實現(xiàn)了應(yīng)用倉庫、在線升級特性以提升使用體驗、簡化運維管理,龍芯平臺面向辦公業(yè)務(wù)類信息化支撐功能完備。

      (2)架構(gòu)穩(wěn)定:試點應(yīng)用初期,不同主板需要進(jìn)行專門的操作系統(tǒng)適配,CPU升級也得專門的操作系統(tǒng)適配,形成組合爆炸。通過完善包括CPU、橋片、固件(Bios)、操作系統(tǒng)的技術(shù)規(guī)范,龍芯平臺逐步統(tǒng)一了系統(tǒng)架構(gòu),目前已經(jīng)做到了同一個操作系統(tǒng)版本對不同主板、整機和CPU系列芯片的二進(jìn)制兼容,大幅降低系統(tǒng)架構(gòu)層面的適配工作量。

      (3)性能優(yōu)化:龍芯處理器從早期試點的3A1000到目前的3A3000,CPU性能總體提升3至4倍,底層基礎(chǔ)軟件如Java虛擬機、瀏覽器JavaScript引擎性能平均提升2.5倍,總體應(yīng)用性能提升1個數(shù)量級;正在研制的3A4000/3C5000,在保持系統(tǒng)架構(gòu)兼容的基礎(chǔ)上,單核性能再提升1至2倍,同時提高核數(shù),綜合通用性能接近主流CPU水平。

      (4)問題收斂:試點初期,應(yīng)用適配中發(fā)現(xiàn)的很多與穩(wěn)定性、性能相關(guān)的問題追溯到CPU或操作系統(tǒng),需要CPU和操作系統(tǒng)企業(yè)緊急組織攻關(guān)解決。而近一年來,應(yīng)用適配中發(fā)現(xiàn)的問題很少追溯到底層的CPU和操作系統(tǒng),更多在于操作系統(tǒng)之上與應(yīng)用軟件之間的磨合適配,自主基礎(chǔ)軟硬件平臺的成熟度在用戶不斷使用當(dāng)中得到大幅提升。

      2.2 隨著自主基礎(chǔ)軟硬件的成熟,如何針對已有大量成熟應(yīng)用進(jìn)行應(yīng)用遷移將成為打造自主軟硬件生態(tài)成敗的關(guān)鍵

      向自主軟硬件平臺進(jìn)行全面應(yīng)用遷移,這是一個具有歷史性的大工程,難點在于三個方面:一是工作量龐大,面臨以往30年間建設(shè)的應(yīng)用系統(tǒng),難以勝數(shù),而解決國家安全問題的任務(wù)緊迫,留給自主軟硬件進(jìn)行替代的時間窗口較短;二是開源軟件生態(tài)的碎片化,Linux的“集市式開發(fā)”導(dǎo)致生態(tài)嚴(yán)重發(fā)散,操作系統(tǒng)、編譯器、API(Application Programming Interface,應(yīng)用編程接口)都形成了多種分支,版本升級過程中普遍存在不向下兼容的現(xiàn)象;三是政府和企業(yè)信息化未建立標(biāo)準(zhǔn)體系規(guī)范,由于缺乏頂層規(guī)劃,現(xiàn)實中的編程語言、API都有隨意性,煙囪林立。

      這些問題構(gòu)成應(yīng)用遷移需要解決的難點,如何協(xié)助應(yīng)用廠商做好應(yīng)用遷移是龍芯后續(xù)的戰(zhàn)略性工作。

      3 應(yīng)用遷移的關(guān)鍵在于打造良好規(guī)范的應(yīng)用編程接口API

      軟件生態(tài)建設(shè)的關(guān)鍵在于開發(fā)者而不是用戶,而開發(fā)者更加關(guān)注API(應(yīng)用編程接口)而不是ISA(Instruction-Set Architecture,CPU指令系統(tǒng))。API是應(yīng)用開發(fā)者的生產(chǎn)工具,各類應(yīng)用程序(APP)都是基于API接口(如Java、JavaScript、QT等)開發(fā)出來的。只有掌握了API,才能吸引大量開發(fā)者圍繞龍芯的技術(shù)平臺進(jìn)行應(yīng)用開發(fā)工作,并在此基礎(chǔ)上逐步形成產(chǎn)業(yè)生態(tài)。

      (1)隨著應(yīng)用開發(fā)與編程環(huán)境的重要性越來越高,指令集(ISA)的區(qū)別對于應(yīng)用生態(tài)的影響越來越小。指令集是指CPU所執(zhí)行的機器指令的二進(jìn)制編碼格式。Intel的CPU基于X86指令集,而龍芯CPU在兼容MIPS指令系統(tǒng)的基礎(chǔ)上發(fā)展出自主的龍芯指令系統(tǒng)LoongISA,無法運行被編譯成X86指令集的軟件代碼,因此Windows操作系統(tǒng)和所有針對X86編譯的應(yīng)用程序都無法在龍芯上運行。指令集包括兩個子集,一個是核心態(tài)指令集,只在操作系統(tǒng)中使用;另一個是用戶態(tài)指令集,可供應(yīng)用程序使用匯編語言進(jìn)行調(diào)用。事實上,現(xiàn)在應(yīng)用程序絕大部分使用平臺無關(guān)的高級語言編程,都是由編譯器實現(xiàn)應(yīng)用程序源代碼到機器指令的轉(zhuǎn)換,國內(nèi)信息化中的應(yīng)用程序都幾乎不再采用匯編語言進(jìn)行編程,已經(jīng)看不到指令集的概念,因此ISA對于應(yīng)用程序可以認(rèn)為是透明的。

      (2)應(yīng)用編程接口的區(qū)別是應(yīng)用遷移的主要問題來源。應(yīng)用編程接口是應(yīng)用軟件與編程環(huán)境(編譯器、函數(shù)庫、框架、引擎等)之間的調(diào)用接口。龍芯電腦運行的操作系統(tǒng)基于開源Linux,所包含的編程環(huán)境和Windows有很大差異,像Windows專用的編程環(huán)境MFC、.Net Framework都不對Linux操作系統(tǒng)開放,龍芯電腦的應(yīng)用編程接口和Windows不兼容。隨著龍芯在信息化項目中的瓶頸由底層“上移”到應(yīng)用層面,應(yīng)用遷移的主要工作都是在解決API層面的問題。目前,在基于Linux平臺的信息化領(lǐng)域,運行的各類常用API接口與編程語言大致分布如圖 1所示。

      可以看到,在信息化應(yīng)用中跟指令集ISA直接相關(guān)的只有匯編語言,而匯編語言在信息化應(yīng)用中的比例不到1%甚至遠(yuǎn)小于1%。其余的語言都與CPU平臺無關(guān),例如C/C++、Qt這兩種面向C/S架構(gòu)的源代碼只需要使用編譯器重新編譯,而剩下的Java語言、SQL語言、JavaScript/HTML/CSS、PHP/Python/Ruby、Flash等面向B/S架構(gòu)的源代碼總共占據(jù)高達(dá)90%以上的比例,本身就是跨平臺的中間字節(jié)碼,不需要重新編譯,把X86平臺上的二進(jìn)制文件直接傳送到龍芯平臺上即可運行。這意味著大部分應(yīng)用軟件能夠在短時間內(nèi)完成遷移,甚至在API軟件版本相同的情況下已經(jīng)不需要遷移。

      4 龍芯在應(yīng)用遷移方面所開展的工作

      4.1 經(jīng)過多年軟件生態(tài)建設(shè),龍芯全面支持了計算機主流API和編程語言

      龍芯平臺目前全面兼容支持計算機主流API和編程語言,能夠滿足大部分信息化應(yīng)用系統(tǒng)對基礎(chǔ)軟件的要求,如表1所示。近兩年來,很多軟件開發(fā)商在沒有龍芯甚至操作系統(tǒng)廠商任何技術(shù)支持的情況下獨立完成了應(yīng)用開發(fā)或應(yīng)用遷移。

      4.2 龍芯積極投入API平臺軟件相關(guān)的開源社區(qū)的生態(tài)建設(shè)

      目前,龍芯在關(guān)鍵API軟件以及編程接口方面,維護(hù)的代表性基礎(chǔ)軟件和開源社區(qū)貢獻(xiàn)在四個方面。

      (1)在Java虛擬機方面,龍芯公司是Java社區(qū)JCP的Full Member,是MIPS分支的維護(hù)者,從無到有開發(fā)了MIPS平臺的OpenJDK,通過了Java兼容性測試套件JCK測試,符合Java SE 標(biāo)準(zhǔn),正在與官方社區(qū)合作開展后續(xù)研發(fā)工作。龍芯的OpenJDK在業(yè)內(nèi)已經(jīng)形成一定的影響力,全球知名JVM公司Azul、創(chuàng)發(fā)科技等正在基于龍芯OpenJDK開源版本進(jìn)行產(chǎn)品定制。

      (2)在瀏覽器方面,F(xiàn)irefox、Chromium都可以在龍芯平臺上穩(wěn)定運行,并在此基礎(chǔ)上對功能和性能進(jìn)行了開發(fā)和優(yōu)化。例如,提供了即時編譯器(Just In Time compiler,JIT)的后端支持,并針對平臺對JIT進(jìn)行了優(yōu)化,對圖形渲染后端引擎進(jìn)行優(yōu)化,提高頁面展現(xiàn)和滾動性能。增加了性能分析和調(diào)試工具,以及對插件獨立進(jìn)行的支持。優(yōu)化音視頻媒體庫、WebGL 3D等高級特性。

      (3)在編譯器和工具鏈方面,龍芯目前是Binutils的MIPS分支維護(hù)者。3A3000的編譯器支持代碼已提交GCC社區(qū),并得到Phoronix.com科技報道。

      (4)在操作系統(tǒng)方面,龍芯推出社區(qū)操作系統(tǒng)發(fā)行版Loongnix,集成了上述所有技術(shù)方向的軟件成果,在社區(qū)上提供所有代碼和開發(fā)工具的開放下載,可供下游操作系統(tǒng)廠商進(jìn)行定制以形成品牌操作系統(tǒng)。為了緩解開源軟件的碎片化問題,龍芯對基礎(chǔ)軟件平臺提出 “研要跟、用要穩(wěn)”原則,即對Loongnix堅持在未來五到十年之間長期維護(hù),即使龍芯推出下一代升級CPU,現(xiàn)有的Loongnix版本仍然能夠在新的CPU上安裝使用,軟件開發(fā)商已經(jīng)適配的上層應(yīng)用軟件不受任何影響。

      龍芯通過將大量第三方開源軟件在龍芯平臺上進(jìn)行移植,解決功能問題、性能優(yōu)化問題,最終將成果提交反哺給開源社區(qū),不斷縮小與X86生態(tài)的距離,甚至解決了很多開源社區(qū)都沒有發(fā)現(xiàn)、X86平臺上也存在的問題。例如,在龍芯Java虛擬機中修正了X86平臺也存在的8個共性問題,龍芯瀏覽器的功能完善程度超過開源瀏覽器。龍芯向開源社區(qū)提交的API項目貢獻(xiàn)匯總見表 2。

      4.3 龍芯為開發(fā)者進(jìn)行應(yīng)用開發(fā)和遷移提供技術(shù)指導(dǎo)和支持

      為提升軟件開發(fā)商在龍芯電腦上進(jìn)行應(yīng)用開發(fā)和遷移的能力,快速推動建設(shè)龍芯生態(tài),龍芯團(tuán)隊提供組織保障。

      猜你喜歡
      龍芯
      基于國產(chǎn)化龍芯的動環(huán)數(shù)據(jù)采集系統(tǒng)
      新品
      龍芯發(fā)布最新四款處理器
      “龍芯之父”胡偉武
      華人時刊(2016年13期)2016-04-05 05:50:06
      龍芯中科推出最新龍芯3A2000四核CPU
      龍芯發(fā)布新一代處理器產(chǎn)品
      開啟自主“造血”新模式
      “龍芯1號”:電腦中國“芯”
      “龍芯1號”:電腦中國“芯”
      龍芯更需要支持而非質(zhì)疑
      通山县| 梓潼县| 辛集市| 佛学| 建平县| 新蔡县| 萨迦县| 镇安县| 永丰县| 大洼县| 兴业县| 措美县| 玛纳斯县| 揭阳市| 江城| 茌平县| 上饶市| 红安县| 乌海市| 玛曲县| 屏东县| 昭通市| 抚州市| 承德县| 文化| 哈尔滨市| 蒙自县| 温泉县| 和田县| 思茅市| 浙江省| 龙里县| 广河县| 娄烦县| 马尔康县| 廉江市| 明溪县| 肃北| 中宁县| 重庆市| 松滋市|