鴻蒙系統(tǒng)的底層是安卓嗎
根據華為的說法,鴻蒙系統(tǒng)是基于Linux內核,是一套完全自主研發(fā)的操作系統(tǒng),與谷歌的 Android 類似,均為開源,可供其它廠商使用。
首款搭載了鴻蒙系統(tǒng)的產品,是榮耀智慧屏。不過之前有網友發(fā)現(xiàn),首款搭載鴻蒙OS的產品,出現(xiàn)了ABD調試授權模式。而ADB的全稱為Android Debug Bridge,它主要起到調試橋的作用。通過ADB我們可以在Eclipse中方面通過DDMS來調試Android程序。在鴻蒙OS中出現(xiàn)這個問題,讓很多人開始質疑鴻蒙是否是基于安卓操作系統(tǒng)研發(fā)。
有分析認為,鴻蒙OS1.0其實是基于開源框架,關鍵模塊自研。也就是鴻蒙1.0可能是基于安卓的自研系統(tǒng)。而到2020年鴻蒙OS2.0才會實現(xiàn)內核及應用框架自研,也就是說鴻蒙OS2.0才真正脫離安卓系統(tǒng)。
鴻蒙OS的出發(fā)點和Android、iOS都不太一樣,它是一款全新的基于微內核的面向全場景的分布式操作系統(tǒng),能夠同時滿足全場景流暢體驗、架構級可信安全、跨終端無縫協(xié)同以及一次開發(fā)多終端部署的要求,應未來而生。
不過,目前鴻蒙系統(tǒng)關鍵點可能不僅僅是技術,更在于華為如何構建生態(tài)鏈體系,這也是用戶體驗的關鍵。安卓和iOS都是在歷史的恰當時機抓住機會起來的,生態(tài)鏈已有成熟的商業(yè)運作模式和口碑,而國產系統(tǒng)在這方面比較弱勢,一致以來難以壯大。
當然,華為有一個最大的優(yōu)勢是華為在消費電子領域已經積累了大量的用戶,先把這部分的用戶給轉化掉成功的概率就會變得非常大,如果國產的操作系統(tǒng)早點推廣成功也不至于在這方面被米國卡脖子而吃大虧。
華為目前已擁有 180 萬開發(fā)者,HMS 集成應用 9.6 萬個,活躍用戶 4.9 億,應用累計分發(fā)量 2610 億。余承東表示,要助力中國開發(fā)者走向全球。他表示,“沒有人能夠熄滅滿天星光,每一位開發(fā)者,都是華為要匯聚的星星之火”。
鴻蒙系統(tǒng)架構安卓架構對比
HarmonyOS整體遵從分層設計,從下向上依次為:內核層、系統(tǒng)服務層、框架層和應用層。系統(tǒng)功能按照“系統(tǒng) 》 子系統(tǒng) 》 功能/模塊”逐級展開,在多設備部署場景下,支持根據實際需求裁剪某些非必要的子系統(tǒng)或功能/模塊。
內核層
內核子系統(tǒng):HarmonyOS采用多內核設計,支持針對不同資源受限設備選用適合的OS內核。內核抽象層(KAL,KernelAbstract Layer)通過屏蔽多內核差異,對上層提供基礎的內核能力,包括進程/線程管理、內存管理、文件系統(tǒng)、網絡管理和外設管理等。
驅動子系統(tǒng):HarmonyOS驅動框架(HDF)是HarmonyOS硬件生態(tài)開放的基礎,提供統(tǒng)一外設訪問能力和驅動開發(fā)、管理框架。
系統(tǒng)服務層
系統(tǒng)服務層是HarmonyOS的核心能力集合,通過框架層對應用程序提供服務。該層包含以下幾個部分:
系統(tǒng)基本能力子系統(tǒng)集:為分布式應用在HarmonyOS多設備上的運行、調度、遷移等操作提供了基礎能力,由分布式軟總線、分布式數(shù)據管理、分布式任務調度、方舟多語言運行時、公共基礎庫、多模輸入、圖形、安全、AI等子系統(tǒng)組成。其中,方舟運行時提供了C/C++/JS多語言運行時和基礎的系統(tǒng)類庫,也為使用方舟編譯器靜態(tài)化的Java程序(即應用程序或框架層中使用Java語言開發(fā)的部分)提供運行時。
基礎軟件服務子系統(tǒng)集:為HarmonyOS提供公共的、通用的軟件服務,由事件通知、電話、多媒體、DFX、MSDP&DV等子系統(tǒng)組成。
增強軟件服務子系統(tǒng)集:為HarmonyOS提供針對不同設備的、差異化的能力增強型軟件服務,由智慧屏專有業(yè)務、穿戴專有業(yè)務、IoT專有業(yè)務等子系統(tǒng)組成。
硬件服務子系統(tǒng)集:為HarmonyOS提供硬件服務,由位置服務、生物特征識別、穿戴專有硬件服務、IoT專有硬件服務等子系統(tǒng)組成。
根據不同設備形態(tài)的部署環(huán)境,基礎軟件服務子系統(tǒng)集、增強軟件服務子系統(tǒng)集、硬件服務子系統(tǒng)集內部可以按子系統(tǒng)粒度裁剪,每個子系統(tǒng)內部又可以按功能粒度裁剪。
框架層
框架層為HarmonyOS的應用程序提供了Java/C/C++/JS等多語言的用戶程序框架和Ability框架,以及各種軟硬件服務對外開放的多語言框架API;同時為采用HarmonyOS的設備提供了C/C++/JS等多語言的框架API,不同設備支持的API與系統(tǒng)的組件化裁剪程度相關。
應用層
應用層包括系統(tǒng)應用和第三方非系統(tǒng)應用。HarmonyOS的應用由一個或多個FA(Feature Ability)或PA(Particle Ability)組成。其中,F(xiàn)A有UI界面,提供與用戶交互的能力;而PA無UI界面,提供后臺運行任務的能力以及統(tǒng)一的數(shù)據訪問抽象?;贔A/PA開發(fā)的應用,能夠實現(xiàn)特定的業(yè)務功能,支持跨設備調度與分發(fā),為用戶提供一致、高效的應用體驗。
Android
Android 是一種基于 Linux 的開放源代碼軟件棧,為各類設備和機型而創(chuàng)建。
Linux 內核
Android 平臺的基礎是 Linux 內核。例如,Android Runtime (ART) 依靠 Linux 內核來執(zhí)行底層功能,例如線程和低層內存管理。
使用 Linux 內核可讓 Android 利用主要安全功能,并且允許設備制造商為著名的內核開發(fā)硬件驅動程序。
硬件抽象層 (HAL)
硬件抽象層 (HAL) 提供標準界面,向更高級別的 Java API 框架顯示設備硬件功能。HAL 包含多個庫模塊,其中每個模塊都為特定類型的硬件組件實現(xiàn)一個界面,例如相機或藍牙模塊。當框架 API 要求訪問設備硬件時,Android 系統(tǒng)將為該硬件組件加載庫模塊。
Android Runtime
對于運行 Android 5.0(API 級別 21)或更高版本的設備,每個應用都在其自己的進程中運行,并且有其自己的 Android Runtime (ART) 實例。ART 編寫為通過執(zhí)行 DEX 文件在低內存設備上運行多個虛擬機,DEX 文件是一種專為 Android 設計的字節(jié)碼格式,經過優(yōu)化,使用的內存很少。編譯工具鏈(例如 Jack)將 Java 源代碼編譯為 DEX 字節(jié)碼,使其可在 Android 平臺上運行。
ART 的部分主要功能包括:
預先 (AOT) 和即時 (JIT) 編譯
優(yōu)化的垃圾回收 (GC)
在 Android 9(API 級別 28)及更高版本的系統(tǒng)中,支持將應用軟件包中的 Dalvik Executable 格式 (DEX) 文件轉換為更緊湊的機器代碼。
更好的調試支持,包括專用采樣分析器、詳細的診斷異常和崩潰報告,并且能夠設置觀察點以監(jiān)控特定字段
在 Android 版本 5.0(API 級別 21)之前,Dalvik 是 Android Runtime。如果您的應用在 ART 上運行效果很好,那么它應該也可在 Dalvik 上運行,但反過來不一定。
Android 還包含一套核心運行時庫,可提供 Java API 框架所使用的 Java 編程語言中的大部分功能,包括一些 Java 8 語言功能。
原生 C/C++ 庫
許多核心 Android 系統(tǒng)組件和服務(例如 ART 和 HAL)構建自原生代碼,需要以 C 和 C++ 編寫的原生庫。Android 平臺提供 Java 框架 API 以向應用顯示其中部分原生庫的功能。例如,您可以通過 Android 框架的 Java OpenGL API 訪問 OpenGL ES,以支持在應用中繪制和操作 2D 和 3D 圖形。
如果開發(fā)的是需要 C 或 C++ 代碼的應用,可以使用 Android NDK 直接從原生代碼訪問某些原生平臺庫。
Java API 框架
您可通過以 Java 語言編寫的 API 使用 Android OS 的整個功能集。這些 API 形成創(chuàng)建 Android 應用所需的構建塊,它們可簡化核心模塊化系統(tǒng)組件和服務的重復使用,包括以下組件和服務:
豐富、可擴展的視圖系統(tǒng),可用以構建應用的 UI,包括列表、網格、文本框、按鈕甚至可嵌入的網絡瀏覽器
資源管理器,用于訪問非代碼資源,例如本地化的字符串、圖形和布局文件
通知管理器,可讓所有應用在狀態(tài)欄中顯示自定義提醒
Activity 管理器,用于管理應用的生命周期,提供常見的導航返回棧
內容提供程序,可讓應用訪問其他應用(例如“聯(lián)系人”應用)中的數(shù)據或者共享其自己的數(shù)據
開發(fā)者可以完全訪問 Android 系統(tǒng)應用使用的框架 API。
系統(tǒng)應用
Android 隨附一套用于電子郵件、短信、日歷、互聯(lián)網瀏覽和聯(lián)系人等的核心應用。平臺隨附的應用與用戶可以選擇安裝的應用一樣,沒有特殊狀態(tài)。因此第三方應用可成為用戶的默認網絡瀏覽器、短信 Messenger 甚至默認鍵盤(有一些例外,例如系統(tǒng)的“設置”應用)。
系統(tǒng)應用可用作用戶的應用,以及提供開發(fā)者可從其自己的應用訪問的主要功能。例如,如果您的應用要發(fā)短信,您無需自己構建該功能,可以改為調用已安裝的短信應用向您指定的接收者發(fā)送消息。
責任編輯:YYX
-
華為
+關注
關注
216文章
34530瀏覽量
252752 -
安卓
+關注
關注
5文章
2136瀏覽量
57538 -
鴻蒙系統(tǒng)
+關注
關注
183文章
2638瀏覽量
66633
發(fā)布評論請先 登錄
相關推薦
評論