當前位置:
首頁 > 最新 > 談自主協同開發國產操作系統

談自主協同開發國產操作系統

談自主協同開發國產操作系統

陸首群 2018.4.23

國產操作系統本身自主開發的難度不是很大,主要難度在於開發與該操作系統適配的應用程序集群。在保護知識產權前提下,開發操作系統:「內核(Kernel)+功能框架(Framework)+用戶界面(UI)+安全模塊(Security Module)」是相對容易的。如果選擇開源技術來開發更易實現「彎道超車」。但要建立操作系統的生態系統就有難度,沒有以生態系統作背景支持的操作系統是難以自立和發展的;這就是說對操作系統而言,即使突破了一、二項關鍵技術,或突破了操作系統自身的關鍵技術,如果它得不到生態系統的全面支持,它也是難以為廣大用戶所認可、所採納的。

生態系統是分類的,如商業、經濟、經營、開發、協作、開源運動、創客潮等。我們這裡談的是操作系統(產品)開發的生態系統,該生態系統涉及技術協同(軟硬體架構協同、系統與應用適配、開源與閉源選擇、工程化處理)、市場機制(用戶體驗)、環境背景(協作夥伴、競爭對手、政府政策)等。在本文談到的技術協同中,包含軟硬體技術架構的選擇,如CPU架構:X86、ARM、MIPS等,適配的應用程序的開發,開源的選擇,工程化處理等。

自主開發國產操作系統,要面對微軟Windows操作系統(當代環境中幾乎唯一強大的競爭對手),該系統佔據國內PC桌面系統市場99%份額,其技術壟斷地位及廣大用戶的使用習慣,幾乎是橫亘在自主開發國產操作系統前面一道如此厚重的藩籬,要衝破它實屬不易!

國產PC桌面操作系統,以往一些企業是選擇開源的,它們主要是移植Red Hat的版本,一般來說工程化處理,維護升級工作不經常、沒有制度化,應用適配除移植Red Hat的外,自己只做了少量的更新適配工作,如(Open Office、WPS等),有人貶其移植為抄襲,將之排斥在國產操作系統之外,這是不對的。應在此基礎上進行整頓提高,以期進入自主開發的國產操作系統行列。

國產智能手機操作系統,國內企業大多選擇Google Android開源版本。舉例來說,華為在國內外發布自主研發的Mate9智能手機,採用Android 6.01+EMUI 5.0操作系統,EMUI 5.0是華為自主開發的,該系統具有深度學習功能,可根據用戶使用習慣,優化系統功能,強化用戶體驗,並能準確預測用戶行為,但EMUI 5.0還是基於Android 6.01原生系統進行深度開發的(畢竟還是一款「安卓手機」)。 Android的核心源代碼是執行Apache-2公共許可證的開源軟體,是不允許被禁用的;如果你截取Android某一版本並自行開發、維護、升級,也並不違規(像亞馬遜所做的那樣)。如此移植Android版本的開源操作系統總體上不存在侵權問題,可能採用了Google的Android商標,不能說商標侵權,或者接受了ARM的授權,一旦撤銷可能帶來問題。

下面談一下加大操作系統適配的應用程序集群,將自行開發或移植的應用程序移到操作系統平台上來,有一個與桌面PC、伺服器或智能手機軟硬體適配的問題。

硬體CPU一般的架構有:X86、ARM、MIPS(而飛騰晶元的架構也是ARM)

解決軟體適配的方式有

1. 採用社區版Fedora適配的應用軟體才可完全免除專利侵權;

2. 自行開發設配應用軟體;

3. 採用Wine過渡,將Windows平台上適配的應用軟體移植過來,但Wine效率較差

4. 將Google的APP應用軟體(由全球志願開發者開發)移植到ARM架構的開源操作系統平台上來;

5. 龍芯電腦採用MIPS架構、Linux操作系統,在Linux平台上支持適配的應用軟體;

6. 基於Meego的桌面PC操作系統所支持的適配的應用程序,可由自行開發解決,也可面向ARM架構移植。

組織適配的應用軟體開發團隊有如下方式

1. 本企業組織開發、移植、維護、升級的團隊;

2. 組織社會上或社區的志願開發者進行開發;

3. 選擇社會上或有關社區開發可移植的應用適配成果。

關於操作系統的工程化處理。將操作系統社區版(如選Red Hat的版本,最好選其社區Fedora的社區版)進行工程化處理(自行開發的也要經工程化處理程序),這是完成操作系統開發必需的環節,國內開發者往往忽略了這個環節。

1. 將源代碼適度移位(約3%),以保障安全性;

2. 將源代碼翻譯成機器碼;

3. 實行軟體與軟體、軟體與硬體之間適配;

4. 產品測試和質量認證

5. 回歸移植和維護升級(Bug fix, Patch)。

工程化化處理效果

1. 發現Bug、糾錯、打補丁、保證正常運作;

2. 提高性能質量、使性能趨於穩定、優化和成熟、質量提高和保證;

3. 加強安全保障;

4. 做好維護升級工作;

5. 培養國際化的Maintainer .

關於安全可控問題,涉及到產品安全、網路安全、國家安全問題。從產品安全說起,傳統產品的安全保障措施的開發或配製原則是:使「黑客」攻破該安全保障措施所花的代價(或成本)要大大高於其攻破後的獲利(這是相對安全的原則)。對操作系統而言,它是網路或系統工程中的核心產品,需要開發或配置較高的安全保障措施。

下面舉一例雲計算的分層安全模塊(Security Module):

1. 數據安全系統(Data Security System);

2. 身份認證體系(Identify Authentication System)

3. 防火牆(Firewall);

4. 安全審計系統(Security Audit System)

關於桌面PC操作系統安全保障措施

1. 在操作系統工程化處理中,將源代碼進行安全微小移位處置;

2. 設置安全模塊(分別與操作系統內核、功能架構、用戶界面相連);

3. 配置可信計算(含軟硬體)。

關於自主開發和安全可控原則

我贊同如下一些觀點:

1. 以價值解決生態,以生態孵化自主,以自主協同開發鞏固和加強在生態中的安全可控及話語權;

2. 在現代講自主開發不如講自主協同開發為好;

3. 生態是要接受和面對的,在自身無法建立新生態前,必須融入主流生態,但必須縮短生態中核心技術的差距;

4. 在國之重器的生態建設中,要以自主協同開發保障安全可控,要時刻把控安全可控這條主線。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 COPU開源聯盟 的精彩文章:

TAG:COPU開源聯盟 |