華為之鴻蒙系統是用什麼語言?軟體工程師,你怎麼看

文章推薦指數: 80 %
投票人數:10人

自從華為被禁後,多家美國公司紛紛宣布暫停合作的消息。

其中,谷歌公司宣布暫停部分功能對華為終端的開放,引發了國內外媒體的廣泛關注。

隨後,有消息稱華為將要推出自家鴻蒙OS作業系統,該系統將會打通手機、平板、電腦、可智能穿戴和汽車等領域的全部壁壘,或將成為蘋果iOS、谷歌Android和微軟Windows之外的超級系統。

更有消息指出,華為鴻蒙OS將會於6月24日香港發布。

但隨後,華為公司出面闢謠,證實該消息為假。

雖是如此,但華為鴻蒙OS的推出,基本上是板上釘釘。

在行業內人士看來,四月份方舟編譯器的推出,便已經奏響了華為自主作業系統的"陣前曲"。

根據華為公布的方舟編譯器資料 可以推測鴻蒙系統是用C、C++語言編寫

先來看華為公布的方舟編譯器原理圖




從上面的華為方舟編譯器資料可知:

1、鴻蒙系統和方舟編譯器的思路應該是一樣:直接使用機器語言編寫app,取消安卓系統的ART虛擬機,直接編譯為二進位機器碼;

這樣的好處是:不需要中轉,執行速度快;劣勢是:必須要有大量的靜態方案、內存空間要求更高。

2、由於是用C、C++進行編寫app,對軟體開發人員要求高,提高了建設生態鏈的技術門檻。

3、由於華為目前有晶片、系統等軟體和硬體基礎,華為鴻蒙系統若走蘋果IOS封閉系統模式,雖然路途漫長但前途可觀。

但華為主業是通訊,並非手機,這和蘋果主業是手機的特點不同。

華為沒有辦法全身心投入開發封閉式的鴻蒙系統。

華為因為手機並非主業,只能走開源之路。

但作為手機製造商的華為,如何讓其他手機製造商使用的系統,將是一個巨大的難題。

畢竟沒有一個手機製造商去幫助一個依是裁判員又是運動員的手機系統發展,導致自己的市場份額縮減。

可以預見的鴻蒙系統


1、除華為外其他國產手機公司不會安裝或重視。

由於google禁售的是華為,對於小米等其他國產手機公司不禁售,因此小米等其他國產公司不會安裝鴻蒙系統,即便出於公共形象的壓力而安裝,也不會真正重視,最多就是做個樣子。

反正,內鬥內行吧——除非華為讓渡鴻蒙系統的控制權!

2、鴻蒙系統即便能夠兼容安卓應用,在過了新鮮期之後,如何提升用戶體驗度是關鍵。

如果像阿里OS一樣可以遠程刪除用戶的app,就直接死翹翹吧。

保持軟體開發商的利益和用戶體驗度的平衡,是鴻蒙系統能否生存的關鍵。

開發商沒有得到利益,不會開發鴻蒙系統的app;用戶體驗度差,用戶就不會用鴻蒙系統。

鴻蒙、安卓、IOS的共同祖先是UNIX,而UNIX是C語言開發的,「鴻蒙」作業系統必然是C語言編寫的。

「鴻蒙」作業系統提供給應用開發商的開發工具很可能是Java,下文具體說一說。


「鴻蒙」作業系統的組成


華為的「鴻蒙」作業系統由四部分部分組成:Linux內核+麒麟處理器的運行庫+編譯器+虛擬機。

Linux內核:Linux內核是開源的,由linux內核團隊維護,而linux的內核採用了C語言,而不是很多認為的C++,C語言的執行效率要遠高於面向對象的程式語言C++。

運行庫:運行庫在Linux基礎上,針對不同的處理器,運行庫需要進行適配。

比如麒麟處理器指令集和高通處理器的指令集可能存在差異,不是完全相同,那麼就存在一個適配的問題,而程序庫通常情況下採用C語言編寫。


虛擬機:虛擬機用於溝通作業系統和硬體,是兩者之間的橋樑,屏蔽了不同系統之間的差異性,可以實現跨平台,同時很大程度上降低了應用開發難度。

目前,普遍使用的虛擬機是Java虛擬機。

編譯器:編譯器將Java編寫的代碼轉換成虛擬機機器碼或者硬體可以直接認識的機器碼。

華為的方舟編譯器實現了代碼的靜態編譯,相比傳統安卓應用流暢度提升了60%。

「鴻蒙」和安卓的差異


鴻蒙作業系統兼容安卓應用,那麼「鴻蒙」作業系統和安卓有什麼區別呢?

1)架構不同

鴻蒙作業系統是微內核設計,而安卓系統是基於linux的宏內核設計,相比來說,微內核開發難度大,但是系統穩定性高。


宏內核,內核包含了作業系統絕大多數的功能,而且這些功能和模塊具有最高的權限,好處是系統開發難度低,但是各模塊具有最高權限,一個模塊出錯,整個系統崩潰,這也是安卓系統容易崩潰的原因。

微內核,內核僅包括了作業系統必要的功能模塊(任務管理、內存分配等),其他模塊不具有最高權限,系統穩定性得到了提升。

2)跨平台支持

鴻蒙作業系統同時支持手機、電腦、智能穿戴設備、智能家居,形成一個無縫的、統一的作業系統,並且兼容所有的安卓應用

這個作業系統與谷歌正在研發的Fuchsia思路一致,是為5G和物聯網時代準備的,華為的「鴻蒙」作業系統提前發布,可能給華為一個反客為主的機會,按照余承東的說法「塞翁失馬,焉知非福」。


總之,華為的「鴻蒙」作業系統,底層(Linux內核、運行庫)是用C語言編寫的,虛擬機可能採用了C或者C++語言;面向應用開發商的開發環境很可能是Java語言。

內容整理自悟空問答

臥龍會IT技術圈,臥虎藏龍,IT高手匯聚!歡迎加入我們的頭條圈子,每月都邀請資深大枷來給大家分享知識講座直播!


請為這篇文章評分?


相關文章 

華為作業系統浮出水面

非常時期,華為作業系統亮劍。在Google宣布將停止對華為的軟體支持後,華為歐洲業務副總裁蒂姆•沃特金斯(Tim Watkins)表示,該集團一直在開發自己的作業系統,該系統已在中國一些地方進行...

華為的方舟編譯器到底是什麼,很牛逼嗎?

前一陣子,華為P30系列發布,最為明顯的升級就是相機拍照部分,外加上P20打下的基礎,突破了自己,就算是突破了整個行業,然而從長遠的眼光看,華為P30的發布帶來的拍照提升只是例行升級,真正懂行的...

方舟編譯器,華為的暗渡陳倉

最近幾天,華為的Mate20,V20等產品先後更新了方舟編譯器,按照華為的說法,方舟編譯器可讓系統操作流暢度提升24%,系統響應速度提升44%,第三方應用重新編譯後流暢度可提升60%。而且華為從...