HarmonyOS學習路之HarmonyOS 概述

系統定義

系統定位

HarmonyOS是一款“面向未來”、面向全場景(移動辦公、運動健康、社交通信、媒體娛樂等)的分布式操作系統。在傳統的單設備系統能力的基礎上,HarmonyOS提出了基于同一套系統能力、適配多種終端形態的分布式理念,能夠支持手機、平板、智能穿戴、智慧屏、車機等多種終端設備。

  • 對消費者而言,HarmonyOS能夠將生活場景中的各類終端進行能力整合,可以實現不同的終端設備之間的快速連接、能力互助、資源共享,匹配合適的設備、提供流暢的全場景體驗。
  • 對應用開發者而言,HarmonyOS采用了多種分布式技術,使得應用程序的開發實現與不同終端設備的形態差異無關。這能夠讓開發者聚焦上層業務邏輯,更加便捷、高效地開發應用。
  • 對設備開發者而言,HarmonyOS采用了組件化的設計方案,可以根據設備的資源能力和業務特征進行靈活裁剪,滿足不同形態的終端設備對于操作系統的要求。

HarmonyOS提供了支持多種開發語言的API,供開發者進行應用開發。支持的開發語言包括Java、XML(Extensible Markup Language)、C/C++ 、 JS(JavaScript)、CSS(Cascading Style Sheets)和HML(HarmonyOS Markup Language)。

系統架構

HarmonyOS整體遵從分層設計,從下向上依次為:內核層、系統服務層、框架層和應用層。系統功能按照“系統 > 子系統 > 功能/模塊”逐級展開,在多設備部署場景下,支持根據實際需求裁剪某些非必要的子系統或功能/模塊。HarmonyOS技術架構如下所示。


在這里插入圖片描述
內核層

內核子系統:HarmonyOS采用多內核設計,支持針對不同資源受限設備選用適合的OS內核。內核抽象層(KAL,Kernel Abstract Layer)通過屏蔽多內核差異,對上層提供基礎的內核能力,包括進程/線程管理、內存管理、文件系統、網絡管理和外設管理等。
驅動子系統:硬件驅動框架(HDF)是HarmonyOS硬件生態開放的基礎,提供統一外設訪問能力和驅動開發、管理框架。

系統服務層

系統服務層是HarmonyOS的核心能力集合,通過框架層對應用程序提供服務。該層包含以下幾個部分:

  • 系統基本能力子系統集:為分布式應用在HarmonyOS多設備上的運行、調度、遷移等操作提供了基礎能力,由分布式軟總線、分布式數據管理、分布式任務調度、方舟多語言運行時、公共基礎庫、多模輸入、圖形、安全、AI等子系統組成。其中,方舟運行時提供了C/C++/JS多語言運行時和基礎的系統類庫,也為使用方舟編譯器靜態化的Java程序(即應用程序或框架層中使用Java語言開發的部分)提供運行時。
  • 基礎軟件服務子系統集:為HarmonyOS提供公共的、通用的軟件服務,由事件通知、電話、多媒體、DFX(Design For X) 、MSDP&DV等子系統組成。
  • 增強軟件服務子系統集:為HarmonyOS提供針對不同設備的、差異化的能力增強型軟件服務,由智慧屏專有業務、穿戴專有業務、IoT專有業務等子系統組成。
  • 硬件服務子系統集:為HarmonyOS提供硬件服務,由位置服務、生物特征識別、穿戴專有硬件服務、IoT專有硬件服務等子系統組成。

根據不同設備形態的部署環境,基礎軟件服務子系統集、增強軟件服務子系統集、硬件服務子系統集內部可以按子系統粒度裁剪,每個子系統內部又可以按功能粒度裁剪。

框架層

框架層為HarmonyOS應用開發提供了Java/C/C++/JS等多語言的用戶程序框架和Ability框架,兩種UI框架(包括適用于Java語言的Java UI框架、適用于JS語言的JS UI框架),以及各種軟硬件服務對外開放的多語言框架API。根據系統的組件化裁剪程度,HarmonyOS設備支持的API也會有所不同。

應用層

應用層包括系統應用和第三方非系統應用。HarmonyOS的應用由一個或多個FA(Feature Ability)或PA(Particle Ability)組成。其中,FA有UI界面,提供與用戶交互的能力;而PA無UI界面,提供后臺運行任務的能力以及統一的數據訪問抽象。FA在進行用戶交互時所需的后臺數據訪問也需要由對應的PA提供支撐?;贔A/PA開發的應用,能夠實現特定的業務功能,支持跨設備調度與分發,為用戶提供一致、高效的應用體驗。

技術特性

硬件互助,資源共享

多種設備之間能夠實現硬件互助、資源共享,依賴的關鍵技術包括分布式軟總線、分布式設備虛擬化、分布式數據管理、分布式任務調度等。
分布式軟總線
分布式軟總線是手機、平板、智能穿戴、智慧屏、車機等分布式設備的通信基座,為設備之間的互聯互通提供了統一的分布式通信能力,為設備之間的無感發現和零等待傳輸創造了條件。開發者只需聚焦于業務邏輯的實現,無需關注組網方式與底層協議。分布式軟總線示意圖見圖1。

典型應用場景舉例:

  • 智能家居場景:在烹飪時,手機可以通過碰一碰和烤箱連接,并將自動按照菜譜設置烹調參數,控制烤箱來制作菜肴。與此類似,料理機、油煙機、空氣凈化器、空調、燈、窗簾等都可以在手機端顯示并通過手機控制。設備之間即連即用,無需繁瑣的配置。
  • 多屏聯動課堂:老師通過智慧屏授課,與學生開展互動,營造課堂氛圍;學生通過手機完成課程學習和隨堂問答。統一、全連接的邏輯網絡確保了傳輸通道的高帶寬、低時延、高可靠。

圖1 分布式軟總線示意圖


在這里插入圖片描述

分布式設備虛擬化

分布式設備虛擬化平臺可以實現不同設備的資源融合、設備管理、數據處理,多種設備共同形成一個超級虛擬終端。針對不同類型的任務,為用戶匹配并選擇能力合適的執行硬件,讓業務連續地在不同設備間流轉,充分發揮不同設備的能力優勢,如顯示能力、攝像能力、音頻能力、交互能力以及傳感器能力等。分布式設備虛擬化示意圖見圖2。

典型應用場景舉例:

  • 視頻通話場景:在做家務時接聽視頻電話,可以將手機與智慧屏連接,并將智慧屏的屏幕、攝像頭與音箱虛擬化為本地資源,替代手機自身的屏幕、攝像頭、聽筒與揚聲器,實現一邊做家務、一邊通過智慧屏和音箱來視頻通話。
  • 游戲場景:在智慧屏上玩游戲時,可以將手機虛擬化為遙控器,借助手機的重力傳感器、加速度傳感器、觸控能力,為玩家提供更便捷、更流暢的游戲體驗。

圖2 分布式設備虛擬化示意圖


在這里插入圖片描述

分布式數據管理

分布式數據管理基于分布式軟總線的能力,實現應用程序數據和用戶數據的分布式管理。用戶數據不再與單一物理設備綁定,業務邏輯與數據存儲分離,跨設備的數據處理如同本地數據處理一樣方便快捷,讓開發者能夠輕松實現全場景、多設備下的數據存儲、共享和訪問,為打造一致、流暢的用戶體驗創造了基礎條件。分布式數據管理示意圖見圖3。

典型應用場景舉例:

  • 協同辦公場景:將手機上的文檔投屏到智慧屏,在智慧屏上對文檔執行翻頁、縮放、涂鴉等操作,文檔的最新狀態可以在手機上同步顯示。
  • 家庭出游場景:一家人出游時,媽媽用手機拍了很多照片。通過家庭照片共享,爸爸可以在自己的手機上瀏覽、收藏和保存這些照片,家中的爺爺奶奶也可以通過智慧屏瀏覽這些照片。

圖3 分布式數據管理示意圖


在這里插入圖片描述

分布式任務調度

分布式任務調度基于分布式軟總線、分布式數據管理、分布式Profile等技術特性,構建統一的分布式服務管理(發現、同步、注冊、調用)機制,支持對跨設備的應用進行遠程啟動、遠程調用、遠程連接以及遷移等操作,能夠根據不同設備的能力、位置、業務運行狀態、資源使用情況,以及用戶的習慣和意圖,選擇合適的設備運行分布式任務。

圖4以應用遷移為例,簡要地展示了分布式任務調度能力。

典型應用場景舉例:

  • 導航場景:如果用戶駕車出行,上車前,在手機上規劃好導航路線;上車后,導航自動遷移到車機和車載音箱;下車后,導航自動遷移回手機。如果用戶騎車出行,在手機上規劃好導航路線,騎行時手表可以接續導航。
  • 外賣場景:在手機上點外賣后,可以將訂單信息遷移到手表上,隨時查看外賣的配送狀態。

圖4 分布式任務調度示意圖


在這里插入圖片描述

一次開發,多端部署

HarmonyOS提供了用戶程序框架、Ability框架以及UI框架,支持應用開發過程中多終端的業務邏輯和界面邏輯進行復用,能夠實現應用的一次開發、多端部署,提升了跨設備應用的開發效率。一次開發、多端部署示意圖見圖5。

其中,UI框架支持Java和JS兩種開發語言,并提供了豐富的多態控件,可以在手機、平板、智能穿戴、智慧屏、車機上顯示不同的UI效果。采用業界主流設計方式,提供多種響應式布局方案,支持柵格化布局,滿足不同屏幕的界面適配能力。

圖5 一次開發、多端部署示意圖


在這里插入圖片描述

統一OS,彈性部署

HarmonyOS通過組件化和小型化等設計方法,支持多種終端設備按需彈性部署,能夠適配不同類別的硬件資源和功能需求。支撐通過編譯鏈關系去自動生成組件化的依賴關系,形成組件樹依賴圖,支撐產品系統的便捷開發,降低硬件設備的開發門檻。

  • 支持各組件的選擇(組件可有可無):根據硬件的形態和需求,可以選擇所需的組件。
  • 支持組件內功能集的配置(組件可大可?。?/strong>:根據硬件的資源情況和功能需求,可以選擇配置組件中的功能集。例如,選擇配置圖形框架組件中的部分控件。
  • 支持組件間依賴的關聯(平臺可大可小):根據編譯鏈關系,可以自動生成組件化的依賴關系。例如,選擇圖形框架組件,將會自動選擇依賴的圖形引擎組件等。

系統安全

在搭載HarmonyOS的分布式終端上,可以保證“正確的人,通過正確的設備,正確地使用數據”。

  • 通過“分布式多端協同身份認證”來保證“正確的人”。
  • 通過“在分布式終端上構筑可信運行環境”來保證“正確的設備”。
  • 通過“分布式數據在跨終端流動的過程中,對數據進行分類分級管理”來保證“正確地使用數據”。

正確的人

在分布式終端場景下,“正確的人”指通過身份認證的數據訪問者和業務操作者?!罢_的人”是確保用戶數據不被非法訪問、用戶隱私不泄露的前提條件。HarmonyOS通過以下三個方面來實現協同身份認證:

  • 零信任模型:HarmonyOS基于零信任模型,實現對用戶的認證和對數據的訪問控制。當用戶需要跨設備訪問數據資源或者發起高安全等級的業務操作(例如,對安防設備的操作)時,HarmonyOS會對用戶進行身份認證,確保其身份的可靠性。
  • 多因素融合認證:HarmonyOS通過用戶身份管理,將不同設備上標識同一用戶的認證憑據關聯起來,用于標識一個用戶,來提高認證的準確度。
  • 協同互助認證:HarmonyOS通過將硬件和認證能力解耦(即信息采集和認證可以在不同的設備上完成),來實現不同設備的資源池化以及能力的互助與共享,讓高安全等級的設備協助低安全等級的設備完成用戶身份認證。

正確的設備

在分布式終端場景下,只有保證用戶使用的設備是安全可靠的,才能保證用戶數據在虛擬終端上得到有效保護,避免用戶隱私泄露。

  • 安全啟動
    確保源頭每個虛擬設備運行的系統固件和應用程序是完整的、未經篡改的。通過安全啟動,各個設備廠商的鏡像包就不易被非法替換為惡意程序,從而保護用戶的數據和隱私安全。
  • 可信執行環境
    提供了基于硬件的可信執行環境(TEE,Trusted Execution Environment)來保護用戶的個人敏感數據的存儲和處理,確保數據不泄露。由于分布式終端硬件的安全能力不同,對于用戶的敏感個人數據,需要使用高安全等級的設備進行存儲和處理。HarmonyOS使用基于數學可證明的形式化開發和驗證的TEE微內核,獲得了商用OS內核CC EAL5+的認證評級。
  • 設備證書認證
    支持為具備可信執行環境的設備預置設備證書,用于向其他虛擬終端證明自己的安全能力。對于有TEE環境的設備,通過預置PKI(Public Key Infrastructure)設備證書給設備身份提供證明,確保設備是合法制造生產的。設備證書在產線進行預置,設備證書的私鑰寫入并安全保存在設備的TEE環境中,且只在TEE內進行使用。在必須傳輸用戶的敏感數據(例如密鑰、加密的生物特征等信息)時,會在使用設備證書進行安全環境驗證后,建立從一個設備的TEE到另一設備的TEE之間的安全通道,實現安全傳輸。如圖1所示。

圖1 設備證書使用示意圖


在這里插入圖片描述

正確地使用數據

在分布式終端場景下,需要確保用戶能夠正確地使用數據。HarmonyOS圍繞數據的生成、存儲、使用、傳輸以及銷毀過程進行全生命周期的保護,從而保證個人數據與隱私、以及系統的機密數據(如密鑰)不泄漏。

  • 數據生成:根據數據所在的國家或組織的法律法規與標準規范,對數據進行分類分級,并且根據分類設置相應的保護等級。每個保護等級的數據從生成開始,在其存儲、使用、傳輸的整個生命周期都需要根據對應的安全策略提供不同強度的安全防護。虛擬超級終端的訪問控制系統支持依據標簽的訪問控制策略,保證數據只能在可以提供足夠安全防護的虛擬終端之間存儲、使用和傳輸。
  • 數據存儲:HarmonyOS通過區分數據的安全等級,存儲到不同安全防護能力的分區,對數據進行安全保護,并提供密鑰全生命周期的跨設備無縫流動和跨設備密鑰訪問控制能力,支撐分布式身份認證協同、分布式數據共享等業務。
  • 數據使用:HarmonyOS通過硬件為設備提供可信執行環境。用戶的個人敏感數據僅在分布式虛擬終端的可信執行環境中進行使用,確保用戶數據的安全和隱私不泄露。
  • 數據傳輸:為了保證數據在虛擬超級終端之間安全流轉,需要各設備是正確可信的,建立了信任關系(多個設備通過華為帳號建立配對關系),并能夠在驗證信任關系后,建立安全的連接通道,按照數據流動的規則,安全地傳輸數據。當設備之間進行通信時,需要基于設備的身份憑據對設備進行身份認證,并在此基礎上,建立安全的加密傳輸通道。
  • 數據銷毀:銷毀密鑰即銷毀數據。數據在虛擬終端的存儲,都建立在密鑰的基礎上。當銷毀數據時,只需要銷毀對應的密鑰即完成了數據的銷毀。
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,197評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,415評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,104評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,884評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,647評論 6 408
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,130評論 1 323
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,208評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,366評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,887評論 1 334
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,737評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,939評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,478評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,174評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,586評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,827評論 1 283
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,608評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,914評論 2 372

推薦閱讀更多精彩內容