鴻蒙加海思,麒麟加龍芯,組合拳能否渡劫「生態」危機

csdn 發佈 2020-08-22T07:34:00+00:00

無獨有偶,在 8 月 13 日的全國計算機體系結構學術年會上,龍芯中科董事長鬍偉武作了名為《指令系統的自主與兼容》的特邀報告,在報告中他宣布了龍芯的全新的 LoongArch 指令集,LoongArch 可深度兼容 Windows、Linux、Android 程序,可謂一舉多得。

作者 | 馬超

責編 | 李雪敬

出品 | CSDN(ID:CSDNnews)

8月13日,銀河麒麟作業系統V10正式發布,最大亮點是專門對國內自主研發的龍芯、飛騰、鯤鵬等晶片做優化。

這款作業系統得到我國基礎軟體領域的泰斗倪光南院士的青睞,他表示麒麟作業系統的安全性已是國內作業系統中的佼佼者,安全等級代表著國內最高等級水平。倪院士對麒麟系統充滿信心,表示相信國產自研作業系統將會在三五年內打破國外壟斷。

無獨有偶,在 8 月 13 日的全國計算機體系結構學術年會(ACA2020)上,龍芯中科董事長鬍偉武作了名為《指令系統的自主與兼容》的特邀報告,在報告中他宣布了龍芯的全新的 LoongArch 指令集,LoongArch 可深度兼容 Windows、Linux、Android 程序,可謂一舉多得。

近期,華為宣布最早在 9 月發布搭建鴻蒙 2.0 系統的 MateWatch。國內著名的晶片公司全志科技宣布與平頭哥全面合作基於玄鐵 IP 的 AIoT 系列晶片,國內裝機量最大的國產物聯網作業系統 RT-Thread,針對玄鐵的 RISC-V 指令集做出優化。

如果把作業系統比作管家,晶片指令集就是晶片的語言,作業系統需要把用戶的指令,翻譯成晶片的語言交由晶片執行,正如此,晶片和作業系統一般會搭檔聯盟共同構建生態。目前看來,鴻蒙加海思,玄鐵加 IoT,麒麟加龍芯的聯盟已經初見雛形。

但我們的晶片、作業系統在自主道路上依舊行程漫漫、困難重重,要把完全自主的晶片造出來就非常難,從現實的角度來講,我國沒有重點發展晶片設計軟體及晶片製造產業,關於這點筆者在國產芯回憶錄:造光刻的去賣早點,搞 EDA 的去組裝電腦曾經提到過,二十幾年前搞 EDA 的程式設計師改行去組裝電腦,搞光刻掩膜的工程師改行去賣早點……這樣的例子不罕見,想在工業軟體和光刻技術方面快速突破,這顯然不符合一般的科研規律。

即使晶片造出來很可能面對生態、體驗等問題,目前桌面類的作業系統基本上被 Windows+Intel 的 Wintel 聯盟所把持,市場份額占比高達85%。在移動桌面 Arm+Android 或者 iOS 的 AAI 聯盟市場份額占比幾乎是100%,由於晶片加作業系統的組合直接將應用軟體的可執行文件進行了深層的鎖定,如果想對應用進行跨作業系統的遷移,需要投入巨大的移植費用。

一般應用軟體只支持主流的作業系統平台,其它小眾平台基本不會考慮,因此即使造出了自研晶片與作業系統後,將面臨沒有軟體可用的情形,或者在生態成型之前直接被扼殺,這方面教訓是相當深刻。

欲成器先渡劫

近10年,銀河麒麟作業系統一直是我國 Linux 發布版本,市場占有率的第一,而在20年前這個第一的位置屬於紅旗 Linux。

紅旗 Linux——沒有生態的悲劇:在眾多國產作業系統中,紅旗 Linux 是非常具有代表性的一個。紅旗 Linux 誕生於 1999 年,主打安全特性,供政府機關事業單位使用。在 2001 年北京市政府桌面作業系統產品軟體採購招標中,年輕的紅旗 Linux,虎口撥牙從微軟的 Windows 手中搶到了訂單,成功中標。

除了政府訂單,在本世紀初 IBM、惠普等廠商,曾在其筆記本產品中預裝過紅旗 Linux,到了 2001 年7月,紅旗的 OEM 訂單超過 100 萬套,紅旗 Linux 成為國產作業系統的一哥,不過幸福來得太快讓紅旗 Linux 團隊完全沒有意識到生態的重要性,雖然穩定性、安全性都沒有什麼問題,但是一台沒有 Office,不能玩遊戲的電腦對於用戶來說是沒有價值的。

當時將預裝紅旗 Linux 的電腦格式化後重裝 Windows 系統已經成為了一項標準動作了,甚至還很多電腦專賣店還將能為客戶重裝作業系統為自己的賣點。與擁有成熟生態的 Windows 相比,紅旗 Linux 甘敗下風。雖然紅旗還是推出了一些經典的版本,不能阻擋其下滑的趨勢。

2014年,中科紅旗發布清算公告,這宣告紅旗 Linux 正式解散。所以作業系統的競爭並不單單是作業系統層面的競爭,即使我們比 Windows 做得更好,也很難動搖 Windows 的地位。我們不但要做好作業系統,更要運用智慧,吸引全球的開發者加入我們的生態體系中來,唯有這樣才能對傳統強者發起挑戰。

TRON——扼殺的慘案:上個世紀80年代,美國對日本的半導體行業痛下殺手,在同一時期日本作業系統 TRON 也被美國封殺。

TRON 最初是東京大學教授坂村健發起的一個項目,旨在「為社會的需要創造一套獨立自主的計算機結構和網絡作業系統。TRON 的創始人坂村健能夠在30多年前就認識到網際網路可能會成為未來社會的新的發展極,也可謂是俊傑人物。

上世紀80年代中期, TRON 內核的作業系統日趨成熟,從桌面系統 BTRON,用於嵌入式作業系統 CTRON,再到汽車作業系統 ITRON,當時 TRON 的生態也已經基本完備了。正因如此,TRON 被日本寄予擺脫微軟壟斷的厚望。

TRON 是開源的,這意味著其生態建立速度很快,一旦形成氣候,未來還有沒有微軟的 Windows 王朝都是未知數。

令人遺憾的恰恰是 TRON 的開源,美國認識到其巨大的潛力,因此 TRON VS MSDOS 乃至 Windows 的局面並沒有出現,美國政府直接在 TRON 發展壯大之前,以「不公平貿易「為由將其扼殺在搖籃中。所有採用 TRON 的美國企業都將受到制裁,TRON 遺憾退出 PC 市場。這套路似曾相識?30年前的 TRON 像不像目前中國科技企業在美不公平待遇的翻版?所以我們需要對於未來的趨勢抱有清醒的認識。

從這個角度上來看,我國自主的作業系統鴻蒙、銀河等沒有完全開源,可能也有一定道理,畢竟原始碼是底牌,沒必要上來就明牌打。

他山之石,可以攻玉

做出一款能用的作業系統容易,但做出一整套的生態難,因此如果作業系統能直接兼容已有的成熟生態,可能是最佳的解決方案。

銀河麒麟提出的 kydroid 技術,筆者感覺 kydroid 技術可能受到 QEUM 虛擬化技術的啟發,而成的一項模擬執行方案,其技術細節並沒有完全公開,筆者不敢加以妄言。龍芯在這方面應該有所突破的,龍芯開發了一套翻譯軟體,可以將其它指令集翻譯成 LOONGARCH 的指令。

目前計算機上運行的應用程式主要分為兩大類型,一部分是基於虛擬機的託管類程序,另一部分則是直接運行在作業系統上的本地化程序,動態翻譯虛擬機方面龍芯支持 Java、JavaScript、.NET 三大虛擬機無須修改代碼。

在二進位翻譯本地程序方面,剛剛提到的 QEUM 可實現針對 X86、ARM 及 MIPS 的翻譯。龍芯還專門提供了 176 條二進位翻譯擴展指令對於此方面進行優化。

龍芯的二進位翻譯系統名為 LAT(LoongsonArchitecture Translator)。根據最新的結果看,對於 Linux 進程級 X86 指令集的二進位翻譯結果,是整形性能達到原生程序的 44.4%,浮點性能達到原生程序的 58.5%。雖然,相較 QEMU 這個成績提升非常大,但是其中的性能損失依舊不小。據說龍芯內部將此翻譯性能的目標定在了原生性能的80%,筆者認為這如果達到了原生程序性能的80%,其用戶體驗是基本可以接受的。那麼生態問題可通過這種途逕迎刃而解。

華為的大招

鴻蒙作業系統一「出生」就伴隨爭議,有人說鴻蒙將是民族的希望,也有人說鴻蒙只是個 PPT 作業系統,有網友在購買了搭載鴻蒙 OS 1.0 智慧屏產品之後,通過軟體助手等工具發現內核是 Linux,其作業系統標示的是安卓,這與配置信息中顯示的 HarmonyOS 並不一致。鴻蒙一直以來都聲稱自己是一款微內核作業系統,而 Linux 又是典型的宏內核,所以鴻蒙1.0如果真是以 Linux 為內核,那麼就不可能是一款微內核的作業系統,而這一信息一經公布就在全網引發熱議。

從華為的角度來講,想建立一個完全獨立於安卓的生態實在太難了,因此兼容安卓才是最好的選擇,華為作為AOSP(Android Open-Source Project)的成員之一,為安卓貢獻了很多代碼,如果美國通過政府行政手段,強行安卓去華為化,勢必引起其它AOSP成員的反彈,不過一旦這樣的情況發生,那麼華為手中再有一套兼容安卓,內核又與安卓完全不同的鴻蒙作業系統,這對於我們爭取開源社區的支持,將十分有利。

鴻蒙的另一個特性微內核的情況筆者在去年的文章《鴻蒙 OS 的微內核技術究竟是什麼》已經介紹得比較詳細,宏內核將內核的功能組合在一個內核態進程中完成,微內核將許多在宏內核中的模塊移出內核,使之運行於用戶模式。宏內核的好處是各功能模塊處於同一個地址空間,相互調用效率很高,弊端是體積太大,不利於在移動設備上進行部署。微內核的好處是功能模塊各自獨立,體積較少,方便進行移植也方便對其它體系的兼容。弊端是功能模塊之間變進程間通信,CPU 上下文切換代價很大,執行效率較低。

因此從鴻蒙微內核與安卓兼容兩個關鍵信息結合,筆者這裡猜想鴻蒙可能會利用其微內核架構,對於安卓生態的應用進行全面的繼承與兼容。同時突破微內核的性能瓶頸,而軟硬體協同來實現高性能IPC,恰恰是華為所擅長的領域。沒準海思可能正在研發一款支持高性能IPC的晶片,這也類似於阿里雲的 MOC 卡,使用硬體來使不同生態之間翻譯轉換的開銷降到最低。

沒有一個冬天不會過去,也沒有一個春天不會到來,最近我們基礎軟體行業雖然好消息不斷,鴻蒙加海思,玄鐵加IoT,麒麟加龍芯均已問世。

筆者這裡要指出兩個隱憂,目前在全球最大的開源網站 Github 上,其新增用戶中來自於我國的開發者占比超過40%,我國的開發者大多參與的是人工智慧或者中間件類的項目,參與到基礎軟體的人並不多,筆者查詢了今年以來的 Patch List,我國開發者對於 Linux 社區的貢獻在這段時間並沒有增多,這裡筆者必須再次向業界說明,爭取 Linux 社區的支持,是我們自主指令集、作業系統獲得成功的關鍵因素,無論怎麼強調也不為過。因此還需要大家齊心協力,共同維護我們在開源社區的形象,才能在這場競爭中占據不敗之地。

關鍵字: