目錄
一、前言
二、HarmonyOS與Android的對比
2.1 HarmonyOS并不是Android的替代品
2.2 系統定位
2.3 內核對比
2.4 運行速度
三、方舟編譯器
一、前言
這段時間我在尋思著學習一下鴻蒙,
第一是因為在著手做一個自己的開源專案,技術選型的時候想到了鴻蒙;
第二是我個人非常看好鴻蒙系統的未來,清楚明白華為和一些民族企業擔負的責任和國人的期待,雖然帶著一些民族感情;鴻蒙剛發布的時候自己是非常激動的,但是后來專案太忙一直沒有認真的去了解過,這次打算花一部分時間認認真真的去研究學習一下,
于是我開始試探性的去請教身邊的大佬們,公司的CTO、中臺部門的總監、老東家數十年行業經驗的老架構、以及在中科院讀研究生的大學老室友、技術圈的網友等等,他們都給出了自己獨特的看法,讓我從多方面更好的去了解到了大家對鴻蒙的認識,當然期間也發現很多國內開發者對鴻蒙系統嗤之以鼻或者抱著一些不太看好的心態,甚至有人在我的關于鴻蒙開發的博客下評論一些比較難聽的話!(當然一千個讀者有一千個哈姆雷特,這都是個人自由);
這肯定是一篇遭到唾棄的文章!但這一切都無法磨滅我堅定的信仰:支持國產、支持民族企業、支持每一個為國家富強而努力的同胞!
?
二、HarmonyOS與Android的對比
2.1 HarmonyOS并不是Android的替代品
HarmonyOS與Android的對比相信是很多關注鴻蒙的人,非常關注的一個焦點話題,我并不特別了解安卓(Android)開發,只在大學期間有過一些課程的涉獵,但是我想我既然想學鴻蒙(HarmonyOS)那就離不開去硬著頭皮探索這個問題!這里事先宣告,寫這篇文章之前我認真閱讀了很多知乎、C站、B站、HarmonyOS官網、騰訊網關于HarmonyOS相關新聞等文章,也稍微跟了一些原始碼最后做了這些總結,
?
文章觀點:
- HarmonyOS并不是Android的替代品,HarmonyOS與Android并非同一個賽道
- HarmonyOS目前缺乏生態支持這一點遠遠比不上Android,但是HarmonyOS的戰略眼光更加高,未來可期
- HarmonyOS相比Android有一定的性能提升
2.2 系統定位
安卓(Android):是一種基于Linux內核(不包含GNU組件)的自由及開放源代碼的作業系統,主要使用于移動設備,如智能手機和平板電腦,由美國Google公司和開放手機聯盟領導及開發,
?
鴻蒙(HarmonyOS):是一款面向萬物互聯時代的、全新的分布式作業系統,在傳統的單設備系統能力基礎上,HarmonyOS提出了基于同一套系統能力、適配多種終端形態的分布式理念,能夠支持手機、平板、智能穿戴、智慧屏、車機等多種終端設備,提供全場景(移動辦公、運動健康、社交通信、媒體娛樂等)業務能力,
建議可以看下華為官方對于HarmonyOS系統定位的介紹視頻:
視頻地址:
https://mos-vod-drcn.dbankcdn.cn/P_VT/video_injection/7C1346286/v3/7C5879811130980925606204416/MP4Mix_H.264_1920x1080_6000_HEAAC1_PVC_NoCut.mp4
從上面的簡單介紹就能很明顯的看出,Android和HarmonyOS兩款產品的研發初衷完全不一樣,根本就不在同一個賽道上,安卓系統面向的是手機端,而鴻蒙系統面向的是這些年比較的新的概念物聯網,致力于利用其5G世界領先的技術,優先布局和打造一個超級終端,萬物互聯的生態,
?
2.3 內核對比
安卓(Android):基于linux的宏內核設計 ,宏內核包含了作業系統絕大多數的功能和模塊,而且這些功能和模塊都
具有最高的權限,只要一個模塊出錯,整個系統就會崩潰,這也是安卓系統容易崩潰的原因,系統
開發難度低,
?
鴻蒙(HarmonyOS):基于微內核設計,微內核僅包括了作業系統必要的功能模塊(任務管理、記憶體分配等)處在核心地位具有最高權限,其他模塊不具有最高權限,也就是說其他模塊出現問題,對于整個系統的運行是沒有阻礙的,微內核穩定性很高,鴻蒙系統包含了兩個內核:
- Linux內核
- LiteOS內核
建議可以看下華為官方對于HarmonyOS的技術架構介紹視頻,它這個有對內核層總體架構有說明,
內核層
- 內核子系統:HarmonyOS采用多內核設計,支持針對不同資源受限設備選用適合的OS內核,內核抽象層(KAL,Kernel Abstract Layer)通過屏蔽多內核差異,對上層提供基礎的內核能力,包括行程/執行緒管理、記憶體管理、檔案系統、網路管理和外設管理等,
- 驅動子系統:硬體驅動框架(HDF)是HarmonyOS硬體生態開放的基礎,提供統一外設訪問能力和驅動開發、管理框架,
視頻地址:
https://mos-vod-drcn.dbankcdn.cn/P_VT/video_injection/D71346286/v3/2999FE4A1130980852826641152/MP4Mix_H.264_1920x1080_6000_HEAAC1_PVC_NoCut.mp4
2.4 運行速度
安卓(Android):基于Java語言編碼,Java語言有個很大的缺點是其不能直接與底層作業系統通信,需要通過虛擬機充當中間轉換的角色,這是每一個Java開發人員都知道的知識點,JVM也是我們Java程式員必修的一門高級課程,雖然Java語言由于虛擬機的優化,編譯器的優化,熱點代碼等技術使得其越來越快,但是無法直接與作業系統互相通信一直影響著其性能的突破(AOT(Ahead Of Time)技術我并未研究過,只了解Java的JIT(Just-in-time)),
安卓(Android)技術架構圖如下:

鴻蒙(HarmonyOS):鴻蒙的開發也可以采用Java語言,官方也推薦使用Java語言開發,但是華為針對安卓或者說Java語言的這種特性,研發了方舟編譯器,通過方舟編譯器編譯的軟體可以直接與底層作業系統通信,方舟編譯器在這一層面做到了取代虛擬機,雖然沒有研究過,但是推斷應該是在打包的時候,通過方舟編譯器轉換為作業系統能夠讀懂的機器語言,這樣就可以跳過虛擬機解釋這一步驟,當然這是肯定對機器的記憶體要求比較高,應該也存在啟動后無法繼續優化等問題,
鴻蒙(HarmonyOS)系統架構圖如下:

三、方舟編譯器
以下部分來源開源中國對方舟編譯器的介紹:
https://www.oschina.net/p/arkcompiler?hmsr=aladdin1e1
?
方舟編譯器
華為方舟編譯器作為一款全新的編譯器可以顯著提高手機的運行速度,它不采用現有編譯器邊解釋邊執行的模式,而是將這種動態編譯改為靜態編譯,可以做到全程執行機器碼,進而高效運行程式,大大縮短程式回應時間,

方舟編譯器的優勢
- 多語言聯合:將同一應用中的不同語言代碼聯合編譯、聯合優化,消除語言間的性能“鴻溝”,降低開發者的優化成本
- 輕量運行時:通過編譯器的語言實作能力和優化能力增強,應用運行時的開銷更小
- 軟硬體協同:編譯器與芯片實作軟硬體協同優化,充分發揮硬體能效,應用體驗更佳
- 多平臺支持:支持面向多樣化的終端設備平臺進行編譯和運行,根據設備特征提供便捷的開發與部署策略,提高開發效率

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/290256.html
標籤:java
