系統定義
HarmonyOS是一款“面向未來”、面向全場景(移動辦公、運動健康、社交通訊、媒體娛樂等)的分散式作業系統。在傳統的單裝置系統能力的基礎上,HarmonyOS提出了基於同一套系統能力、適配多種終端形態的分散式理念,能夠支援多種終端裝置。
對消費者而言,HarmonyOS能夠將生活場景中的各類終端進行能力整合,形成一個“超級虛擬終端”,可以實現不同的終端裝置之間的快速連線、能力互助、資源共享,匹配合適的裝置、提供流暢的全場景體驗。對應用開發者而言,HarmonyOS採用了多種分散式技術,使得應用程式的開發實現與不同終端裝置的形態差異無關,降低了開發難度和成本。這能夠讓開發者聚焦上層業務邏輯,更加便捷、高效地開發應用。對裝置開發者而言,HarmonyOS採用了元件化的設計方案,可以根據裝置的資源能力和業務特徵進行靈活裁剪,滿足不同形態的終端裝置對於作業系統的要求。技術特性硬體互助,資源共享分散式軟匯流排分散式軟匯流排是多種終端裝置的統一基座,為裝置之間的互聯互通提供了統一的分散式通訊能力,能夠快速發現並連線裝置,高效地分發任務和傳輸資料。分散式軟匯流排示意圖見圖1。
圖1 分散式軟匯流排示意圖
分散式裝置虛擬化分散式裝置虛擬化平臺可以實現不同裝置的資源融合、裝置管理、資料處理,多種裝置共同形成一個超級虛擬終端。針對不同型別的任務,為使用者匹配並選擇能力合適的執行硬體,讓業務連續地在不同裝置間流轉,充分發揮不同裝置的資源優勢。分散式裝置虛擬化示意圖見圖2。
圖2 分散式裝置虛擬化示意圖
分散式資料管理分散式資料管理基於分散式軟匯流排的能力,實現應用程式資料和使用者資料的分散式管理。使用者資料不再與單一物理裝置繫結,業務邏輯與資料儲存分離,應用跨裝置執行時資料無縫銜接,為打造一致、流暢的使用者體驗創造了基礎條件。分散式資料管理示意圖見圖3。
圖3 分散式資料管理示意圖
分散式任務排程分散式任務排程基於分散式軟匯流排、分散式資料管理、分散式Profile等技術特性,構建統一的分散式服務管理(發現、同步、註冊、呼叫)機制,支援對跨裝置的應用進行遠端啟動、遠端呼叫、遠端連線以及遷移等操作,能夠根據不同裝置的能力、位置、業務執行狀態、資源使用情況,以及使用者的習慣和意圖,選擇合適的裝置執行分散式任務。
圖4以應用遷移為例,簡要地展示了分散式任務排程能力。
圖4 分散式任務排程示意圖
一次開發,多端部署HarmonyOS提供了使用者程式框架、Ability框架以及UI框架,支援應用開發過程中多終端的業務邏輯和介面邏輯進行復用,能夠實現應用的一次開發、多端部署,提升了跨裝置應用的開發效率。一次開發、多端部署示意圖見圖5。
圖5 一次開發、多端部署示意圖
統一OS,彈性部署HarmonyOS通過元件化和小型化等設計方法,支援多種終端裝置按需彈性部署,能夠適配不同類別的硬體資源和功能需求。支撐通過編譯鏈關係去自動生成元件化的依賴關係,形成元件樹依賴圖,支撐產品系統的便捷開發,降低硬體裝置的開發門檻。
支援各元件的選擇(元件可有可無):根據硬體的形態和需求,可以選擇所需的元件。支援元件內功能集的配置(元件可大可小):根據硬體的資源情況和功能需求,可以選擇配置元件中的功能集。例如,選擇配置圖形框架元件中的部分控制元件。支援元件間依賴的關聯(平臺可大可小):根據編譯鏈關係,可以自動生成元件化的依賴關係。例如,選擇圖形框架元件,將會自動選擇依賴的圖形引擎元件等。技術架構HarmonyOS整體遵從分層設計,從下向上依次為:核心層、系統服務層、框架層和應用層。系統功能按照“系統 > 子系統 > 功能/模組”逐級展開,在多裝置部署場景下,支援根據實際需求裁剪某些非必要的子系統或功能/模組。HarmonyOS技術架構如圖1所示。
圖1 技術架構
核心層核心子系統:HarmonyOS採用多核心設計,支援針對不同資源受限裝置選用適合的OS核心。核心抽象層(KAL,KernelAbstract Layer)通過遮蔽多核心差異,對上層提供基礎的核心能力,包括程序/執行緒管理、記憶體管理、檔案系統、網路管理和外設管理等。驅動子系統:HarmonyOS驅動框架(HDF)是HarmonyOS硬體生態開放的基礎,提供統一外設訪問能力和驅動開發、管理框架。系統服務層系統服務層是HarmonyOS的核心能力集合,通過框架層對應用程式提供服務。該層包含以下幾個部分:
系統基本能力子系統集:為分散式應用在HarmonyOS多裝置上的執行、排程、遷移等操作提供了基礎能力,由分散式軟匯流排、分散式資料管理、分散式任務排程、方舟多語言執行時、公共基礎庫、多模輸入、圖形、安全、AI等子系統組成。其中,方舟執行時提供了C/C++/JS多語言執行時和基礎的系統類庫,也為使用方舟編譯器靜態化的Java程式(即應用程式或框架層中使用Java語言開發的部分)提供執行時。基礎軟體服務子系統集:為HarmonyOS提供公共的、通用的軟體服務,由事件通知、電話、多媒體、DFX、MSDP&DV等子系統組成。增強軟體服務子系統集:為HarmonyOS提供針對不同裝置的、差異化的能力增強型軟體服務,由智慧屏專有業務、穿戴專有業務、IoT專有業務等子系統組成。硬體服務子系統集:為HarmonyOS提供硬體服務,由位置服務、生物特徵識別、穿戴專有硬體服務、IoT專有硬體服務等子系統組成。根據不同裝置形態的部署環境,基礎軟體服務子系統集、增強軟體服務子系統集、硬體服務子系統集內部可以按子系統粒度裁剪,每個子系統內部又可以按功能粒度裁剪。
框架層框架層為HarmonyOS的應用程式提供了Java/C/C++/JS等多語言的使用者程式框架和Ability框架,以及各種軟硬體服務對外開放的多語言框架API;同時為採用HarmonyOS的裝置提供了C/C++/JS等多語言的框架API,不同裝置支援的API與系統的元件化裁剪程度相關。
應用層應用層包括系統應用和第三方非系統應用。HarmonyOS的應用由一個或多個FA(Feature Ability)或PA(Particle Ability)組成。其中,FA有UI介面,提供與使用者互動的能力;而PA無UI介面,提供後臺執行任務的能力以及統一的資料訪問抽象。基於FA/PA開發的應用,能夠實現特定的業務功能,支援跨裝置排程與分發,為使用者提供一致、高效的應用體驗。
系統安全在搭載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通過硬體為裝置提供可信執行環境。使用者的個人敏感資料僅在分散式虛擬終端的可信執行環境中進行使用,確保使用者資料的安全和隱私不洩露。資料傳輸:為了保證資料在虛擬超級終端之間安全流轉,需要各裝置是正確可信的,建立了信任關係(多個裝置通過華為帳號建立配對關係),並能夠在驗證信任關係後,建立安全的連線通道,按照資料流動的規則,安全地傳輸資料。當裝置之間進行通訊時,需要基於裝置的身份憑據對裝置進行身份認證,並在此基礎上,建立安全的加密傳輸通道。資料銷燬:銷燬金鑰即銷燬資料。資料在虛擬終端的儲存,都建立在金鑰的基礎上。當銷燬資料時,只需要銷燬對應的金鑰即完成了資料的銷燬。-
1 #
-
2 #
阿里也趕緊開放啊!一般業務小程式就夠了。
-
3 #
偷換了作業系統的概念!玩了一虛招,最終還是會踏空
-
4 #
說白點就是走阿里雲的路
-
5 #
噴子:不信不信,功能就是安卓換了殼子
-
6 #
阿里的!我特麼反手就是一個大關注!!!
官網文件一頓貼上