胡海欽
【摘要】因?yàn)楸娝苤脑?,華為近年來(lái)慘遭瘋狂打壓,2019年Google公司斷供華為,限制華為新發(fā)布手機(jī)預(yù)裝使用Google GMS服務(wù),這對(duì)華為手機(jī)海外出貨造成重大影響,華為不得不備胎轉(zhuǎn)正推出了鴻蒙操作系統(tǒng)以取代Google的Android系統(tǒng)。目前全世界手機(jī)操作系統(tǒng)只有IOS與Android二分天下,新生的華為鴻蒙操作系統(tǒng)是否能與IOS和Android三分天下,引起了諸多苦美久矣的國(guó)人好奇、期待與關(guān)注。
【關(guān)鍵字】鴻蒙系統(tǒng),HarmonyOS,OpenHarmony,IOS,Android
中圖分類號(hào):TN929 ? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A ? ? ? ? ? ? ? ? ? ? DOI:10.12246/j.issn.1673-0348.2021.09..012
2021年6月2日,華為發(fā)布鴻蒙操作系統(tǒng)正式版本,這可能是將載入史冊(cè)的事件。在此之前,我們使用的所有手機(jī)幾乎只有Google公司的Android操作系統(tǒng)和蘋果公司的IOS操作系統(tǒng)這兩個(gè),而這兩個(gè)操作系統(tǒng)都是美國(guó)的產(chǎn)品。美國(guó)以舉國(guó)之力打壓華為,斷供手機(jī)操作系統(tǒng)與芯片,讓國(guó)人清醒的認(rèn)識(shí)到讓其他國(guó)家卡脖子是一種什么樣的體驗(yàn)。盡管我們國(guó)家占據(jù)了全球智能手機(jī)出貨半壁江山,誕生了諸如小米、Oppo、Vivo、一加等眾多著名手機(jī)品牌,但在操作系統(tǒng)和芯片受制于人的前提下,仿佛他們都只是著名的“手機(jī)組裝廠”,每賣一臺(tái)手機(jī)產(chǎn)生的利潤(rùn),大部分都是別人的。鴻蒙操作系統(tǒng)正式版的發(fā)布,承載著多少國(guó)人對(duì)打破美國(guó)操作系統(tǒng)壟斷的期待?抱著鴻蒙生態(tài)能夠健康發(fā)展,并且最終能與Android、IOS三足鼎立的期待,我們來(lái)正式認(rèn)識(shí)它、了解它加入它。
1. HarmonyOS初始
華為官方對(duì)HarmonyOS的定義是一款面向未來(lái)的全場(chǎng)景分布式智慧操作系統(tǒng),它將逐步覆蓋“1+8+N”的全場(chǎng)景終端設(shè)備,其中“1”代表智能手機(jī),“8”代表PC、平板、手表、智慧屏、AI音響、耳機(jī)、AR/VR眼鏡、車機(jī),“N”代表loT生態(tài)產(chǎn)品??梢钥吹贸?,HarmonyOS幾乎支持了你所知的目前所有的智能終端,這意味著軟件開發(fā)者可以將精力更加聚焦于上層業(yè)務(wù)邏輯,無(wú)需關(guān)注硬件差異;而設(shè)備開發(fā)者可以通過(guò)HarmonyOS按需調(diào)用其他終端的能力。這大大降低了開發(fā)者遷移到鴻蒙生態(tài)的成本,讓鴻蒙生態(tài)的健康發(fā)展成為了可能。
2. HarmonyOS系統(tǒng)架構(gòu)
HarmonyOS采用了分層架構(gòu),如圖2所示一共有四層。
由下到上(注意:越下越底層)分別是:
2.1. 內(nèi)核層
HarmonyOS的內(nèi)核子系統(tǒng)采用了多內(nèi)核的設(shè)計(jì)。圖3中畫出了其中的兩個(gè)內(nèi)核,一個(gè)是Linux Kernel,也就是常說(shuō)的Linux內(nèi)核(注意,安卓也是基于Linux開發(fā)的,這一點(diǎn)HarmonyOS與Android相同,這也是現(xiàn)在原有的安卓軟件包可以轉(zhuǎn)換成鴻蒙軟件包的基礎(chǔ)),當(dāng)HarmonyOS應(yīng)用于像智能手機(jī)、車機(jī)這樣資源不受限制的終端時(shí),自然選擇用Linux Kernel;圖3中舉例的另外一個(gè)內(nèi)核是LiteOS,LiteOS是在2015年由華為發(fā)布的一個(gè)輕量級(jí)物聯(lián)網(wǎng)操作系統(tǒng),其體積只有10KB級(jí)!因此,當(dāng)HarmonyOS被應(yīng)用于像智能攝像頭、可視門鈴、無(wú)人機(jī)、智能家居等資源受到限制的終端時(shí),可以選擇使用輕量級(jí)的LiteOS內(nèi)核。
內(nèi)核層中的驅(qū)動(dòng)子系統(tǒng):硬件驅(qū)動(dòng)框架(HDF)是HarmonyOS硬件生態(tài)開放的基礎(chǔ),它提供了統(tǒng)一的外設(shè)訪問(wèn)能力和驅(qū)動(dòng)開發(fā)管理框架。
2.2. 系統(tǒng)服務(wù)層
這一層是HarmonyOS核心力能集合,比如打電話、事件通知、多媒體、位置服務(wù)、多模輸入等等。這一層涵蓋了系統(tǒng)基本能力子系統(tǒng)集、基礎(chǔ)軟件服務(wù)子系統(tǒng)集、增強(qiáng)軟件服務(wù)子系統(tǒng)級(jí)、硬件服務(wù)子系統(tǒng)集。在實(shí)際應(yīng)用中,根據(jù)不同設(shè)備的具體使用環(huán)境,還可以對(duì)這一層子系統(tǒng)集內(nèi)部進(jìn)行粒度裁剪。
2.3. 框架層
這一層為HarmonyOS應(yīng)用開發(fā)者提供了Java、C++、JS等多種語(yǔ)言的用戶程序框架、Ability框架、UI框架。簡(jiǎn)單的說(shuō),用戶程序框架解決的是開發(fā)者可以用什么語(yǔ)言來(lái)開發(fā)HarmonyOS應(yīng)用;Ability框架中文意思是“能力框架”,也就是HarmonyOS為開發(fā)者提供了那些“能力”,我們可以認(rèn)為HarmonyOS應(yīng)用是由“Ability”構(gòu)成的,“Ability”是系統(tǒng)的最小調(diào)度單位,也是不同設(shè)備之間系統(tǒng)最小遷移單元。UI框架就是用來(lái)解決應(yīng)用長(zhǎng)什么樣的問(wèn)題,跟交互界面有關(guān)系,HarmonyOS提供了兩種UI框架,分別是用于Java語(yǔ)言的Java UI框架和用于JS語(yǔ)言的JS UI框架。
2.4. 應(yīng)用層
Harmony官方說(shuō)應(yīng)用層是基于框架層實(shí)現(xiàn)業(yè)務(wù)邏輯的原子化開發(fā),并在這里提出了兩個(gè)概念:1.FA(Feature Ability) ,特征能力;2.PA(Particle Ability),粒子能力。FA/PA是HarmonyOS應(yīng)用的基本組成單元,能夠?qū)崿F(xiàn)特定的業(yè)務(wù)。其中FA是有UI界面的,PA沒(méi)有UI界面。舉個(gè)例子,比如我們要開發(fā)視頻通話功能,視頻通話的主界面有FA提供,但是視頻通話過(guò)程中攝像頭視頻采集、AI美顏等能力只提供計(jì)算服務(wù),不提供UI界面,屬于PA。
FA/PA可以按需下載、加載和運(yùn)行,基于FA/PA開發(fā)的應(yīng)用能夠?qū)崿F(xiàn)三方服務(wù)跨設(shè)備分發(fā),為用戶提供高效、一致的交互體驗(yàn)。
3. HarmonyOS與Android對(duì)比
由于目前HarmonyOS的軟件基本上都是以兼容Android軟件為主,因此很多人質(zhì)疑HarmonyOS是一個(gè)套了殼的Android系統(tǒng)。對(duì)于鴻蒙系統(tǒng),用戶的感知也就是UI好看了一點(diǎn),系統(tǒng)可能稍微流暢了一點(diǎn),同時(shí)相對(duì)于之前的安卓系統(tǒng)更省電了點(diǎn),其他好像并沒(méi)有什么差別。
那么,HarmonyOS真的是一個(gè)套殼的Android系統(tǒng)嗎?HarmonyOS與Android有什么區(qū)別呢?
雖然HarmonyOS和Android操作系統(tǒng)都是基于Linux開發(fā)的(站在巨人的肩膀上),但是它們還是有區(qū)別的,其中最主要的區(qū)別在于架構(gòu)不同。
Android系統(tǒng)是基于Linux的宏內(nèi)核(Monolithic kernel)設(shè)計(jì),宏內(nèi)核包含了操作系統(tǒng)絕大多數(shù)的功能和模塊,雖然這些模塊各做各的事,但是它們可以被看做是一個(gè)整體,它們之間互相緊密關(guān)聯(lián),一榮俱榮一損俱損,只要有一個(gè)模塊出錯(cuò),整個(gè)系統(tǒng)就會(huì)奔潰,這也是最初安卓系統(tǒng)容易崩潰的原因(現(xiàn)在已經(jīng)好很多了),與此同時(shí)帶來(lái)的問(wèn)題是代碼規(guī)模非常大,很難修改成其它類型的操作系統(tǒng)。
而HarmonyOS是基于微內(nèi)核(Micro Kernel)設(shè)計(jì),微內(nèi)核只提供操作系統(tǒng)最基礎(chǔ)的少數(shù)核心功能(任務(wù)管理、內(nèi)存分配等)擁有最高權(quán)限,是精簡(jiǎn)版本,其他模塊相互獨(dú)立,不具有最高權(quán)限,也就是說(shuō)當(dāng)這些模塊出問(wèn)題的時(shí)候,不會(huì)阻礙整個(gè)系統(tǒng)的運(yùn)行。相對(duì)于宏內(nèi)核,微內(nèi)核的開發(fā)難度大很多,但是系統(tǒng)的穩(wěn)定性也高很多。同時(shí)帶來(lái)的好處是基于微內(nèi)核的操作系統(tǒng)可以根據(jù)實(shí)際需要?jiǎng)冸x很多沒(méi)有用的部分,這也是華為有鴻蒙萬(wàn)物互聯(lián)宏愿的底氣所在。