回覆列表
  • 1 # 安全時刻

    鴻蒙、安卓、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語言。

  • 2 # 紫嶺箐夢

    我看了全程釋出會,後續也看了看,餘承東說的是相容安卓,現在看是不需要去學習新語言,但有人說之前華為退出方舟編譯等是在為自己的作業系統做準備,假如真的話以後就需要學新語言,但是現在吧JAVA這些掌握就好,而且其實你嘗試過幾種語言程式設計的話應該就瞭解其實程式語言直接只要適應了一種程式設計思維,其餘的入手也快,我並沒有做系統開發,但經常用到c,f,JAVA 還有一些基於c的matlab這樣的 建議您掌握JAVA吧

  • 3 # 峰芒科技

    估計鴻蒙應該會以之前華為已經公佈的方舟編譯器為應用生態的核心,即將所有安卓程式編譯為本機程式碼。所以題主的問題會轉變為“方舟編譯器支援編譯什麼語言”?之前華為公佈的方舟編譯器提出的主要特色就是不再“一邊執行一邊翻譯”,流暢度可以提升60%,那麼可以推斷方舟編譯器多半是一個將程式原始碼編譯為本機機器程式碼的這麼一個編譯器了。那麼對於一個編譯器來說,主要要討論的有輸入和輸出兩個方面。

    方舟編譯器至少應該包含一個JAVA編譯器,因為目前安卓程式大多還是採用Java進行開發,現有大量的Java遺產程式碼支撐起了安卓的生態(還包括部分Java生態)。方舟編譯器也應該包含一個Dalvik位元組碼編譯器,如此還可以將已經編譯好的DEX位元組碼程式編譯為本機程式碼,既然對Java編譯器都已經搞定,搞定位元組碼編譯也並不難。雖然Kotlin已經被宣佈成為安卓開發的第一語言,但開發社群轉向Kotlin還需要時日,方舟編譯器未來應該也要考慮對Kotlin的支援。

    此外借道Xamarin的C#也能開發安卓程式,但是使用者寥寥,如果方舟編譯器也能支援編譯Xamarin的.net位元組碼庫,那未來可以把Windows生態也拉入到鴻蒙的陣營。另外必須採用ARM指令集,因為華為自己的麒麟芯就基於ARM8做出來,所以方舟編譯器首先會確保編譯出來的程式能夠在ARM晶片上執行,並且方舟編譯器可能還會支援華為自己的指令擴充套件包括對麒麟芯內部AI單元的指令。

    考慮到打壓,微軟可能停止向華為提供Windows系統授權,那麼華為需要在自己未來的X86 PC上部署自己的作業系統,那麼可能也需要從基礎上支援X86指令集。再考慮到INTEL,AMD等X86 CPU供應商也可能掣肘。那麼還有國內獲得了X86授權的中國產CPU,他們這兩年也逐漸將產品效能趕上來。到時候華為如果不用Intel和AMD的晶片,還可以用中國產CPU,效能問題隨著摩爾效應收窄,和中國產工藝迎頭趕上,加上市場空間的轉移,中國產CPU會大有所為。所以華為的方舟編譯器也要扶持這部分生態。

    RISC-V指令集:RISC-V是可以與ARM媲美的開源硬體平臺,這很可能是未來中國完全擺脫ARM和X86限制的途徑之一,因此如果華為要完全解決受制於人的發力很可能會考慮在未來,將成熟的RISC-V指令集加入方舟編譯器的支援。估計方舟編譯器是可以與現有的主流開發環境協同使用的,就像一個外掛,將原有的安卓開發工具包替換為方舟編譯器工具包即可,或者兩者並存。估計Eclipse,Android Studio以及IntelliJ等都可以支援,當然華為要像AliOS那樣推出自己的開發環境(AliOS Studio)甚至自己的開發語言也不是不可以。

  • 中秋節和大豐收的關聯?
  • 大家對祁同偉這個人物怎麼看?