
華為鴻蒙OS2.0系統定義
HarmonyOS是一款“面向未來”、面向全場景(移動辦公、運動健康、社交通信、媒體娛樂等)的分布式作業系統,在傳統的單設備系統能力的基礎上,HarmonyOS提出了基于同一套系統能力、適配多種終端形態的分布式理念,能夠支持多種終端設備,
鴻蒙1.0


從鴻蒙1.0到鴻蒙2.0:分布式能力





對消費者而言,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通過硬體為設備提供可信執行環境,用戶的個人敏感資料僅在分布式虛擬終端的可信執行環境中進行使用,確保用戶資料的安全和隱私不泄露,
資料傳輸:為了保證資料在虛擬超級終端之間安全流轉,需要各設備是正確可信的,建立了信任關系(多個設備通過華為帳號建立配對關系),并能夠在驗證信任關系后,建立安全的連接通道,按照資料流動的規則,安全地傳輸資料,當設備之間進行通信時,需要基于設備的身份憑據對設備進行身份認證,并在此基礎上,建立安全的加密傳輸通道,
資料銷毀:銷毀密鑰即銷毀資料,資料在虛擬終端的存盤,都建立在密鑰的基礎上,當銷毀資料時,只需要銷毀對應的密鑰即完成了資料的銷毀,

兩大重點:分布式技術提升、生態開放
演講中,華為消費者業務軟體部總裁王成錄表示鴻蒙 2.0 相比 1.0 有一個非常大的提升,同時這是一個非常重要的里程碑,一方面得益于分布式技術的提升,EMUI 的能力過去一年也已經全部重用在了鴻蒙 2.0 系統中;另一方面,鴻蒙 2.0 邁出了賦能第三方生態的第一步:華為已經將其開放給應用廠家做創新,

鴻蒙不是手機系統的簡單替代,是全場景的底座,其三大分布式能力分別是分布式軟總線、分布式資料管理和分布式安全的解決方案,
分布式軟總線
如下圖,分布式軟總線是整個鴻蒙系統的底座,其性能無限逼近硬總線的能力,讓多設備可以融為一體,讓系統極速流暢,

在全融合自適應部分,鴻蒙系統實作了異構網路融合,不同設備可以互聯互通;自發現自連接,幾乎每次更換網路都需要做很繁瑣的配置,基于鴻蒙系統的設備配置一次就可以自發現自連接;三是動態時延校準,以音畫同步為例,如果把視頻流給大屏,音頻流給音箱,可以實作二者同步,
分布式資料管理
分布式的資料管理讓跨設備資料處理如同本地一樣方便便捷,在分布式檔案系統層面,遠程檔案跨設備之間的讀寫如果速度上不來將會很糟糕,華為比業界做的最好的 Samba 系統最低速度快四倍;分布式資料庫層面,跨設備之間的讀取對比 ContentProvide(同設備之間的讀取)速度提升了 1.3 倍;分布式檢索的速度比 iOS Core Spotlight 快 1.2 倍,
分布式安全
實際上,在分布式系統里有非常好的機會可以突破單設備上的單維度身份認證,在多設備上可以通過多因子進行更強的身份認證,這樣不僅讓代碼可以一次撰寫、多端運行,還可以讓設備更加安全,
王成錄表示,華為可以將微內核彈性部署到任何設備上,并會將該能力開放,在資料層面,華為設定了一系列規則,比如最高級別的資料一定要存在單體能力更強的設備上,資料的流動一定要有規則,高級別可以訪問低級別,反之不行,

開發工具平臺:HUAWEI DevEco Studio

https://developer.harmonyos.com/cn/home/
DevEco Studio支持包括智慧屏、智能穿戴和輕量級智能穿戴的HarmonyOS應用開發,可以根據工程向導輕松創建適應于各類設備的工程,并自動生成對應的代碼和資源模板,同時,DevEco Studio還提供了多種編程語言供開發者進行HarmonyOS應用開發,包括Java、JS和C/C++三種編程語言,并支持多種語言的混合開發場景,因此,在創建對應設備的工程時,工具會預置多種Ability的模板,并推薦您使用適合的開發語言,
參考:https://developer.harmonyos.com/cn/docs/documentation/doc-guides/software_install-0000001053582415

方舟編譯器
對計算機知識(領域)有一個宏觀的認識:https://www.zhihu.com/question/265434988



計算機科學領域,從底層向上依次是:

編譯器是連接人類世界與機器世界之間的一座橋梁,任何在手機上的程式都需要經歷軟體開發的程序,軟體開發使用的語言是易于程式員理解的高級語言,程式在手機上運行需要轉換成可以高效執行的機器碼,這樣的轉換程序就是由編譯器完成的,可以說編譯器是用來生成軟體的軟體,是連接軟體與芯片的橋梁,其性能,效率直接影響到最基礎的消費者體驗,
面向多設備、支持多語言的統一編程平臺,
OpenArkCompiler是來自華為方舟編譯器的開源專案,華為方舟編譯器(HuaWei Ark Compiler),靜態編譯,運行平臺:HarmonyOS,EMUI,MagicUI等,
OpenArkCompiler 四個技術特點

能夠將不同語言代碼編譯成一套可執行檔案,在運行環境中高效執行:
支持多語言聯合優化、消除跨語言呼叫開銷;
更輕量的語言運行時;
軟硬協同充分發揮硬體能效;
支持多樣化的終端設備平臺,
源代碼:https://code.opensource.huaweicloud.com/HarmonyOS/OpenArkCompiler/home
官網:https://code.opensource.huaweicloud.com/HarmonyOS/OpenArkCompiler/readme
方舟編譯器改變了系統及應用的編譯和運行機制,直接將高級語言編譯成機器碼,讓手機能直接聽懂“高級語言”,消除了虛擬機動態編譯的額外開銷,提升了手機運行效率,
同時,方舟編譯器還能夠理解程式特征、使用適合的指令來執行程式,因此能夠極大程度地發揮出芯片的能力,
目前,方舟編譯器聚焦在 Java 代碼性能上,未來,方舟編譯器將覆寫多種編程語言(包括 C/C++、JS 等),多種芯片架構(包括CPU、GPU、IPU等),覆寫更廣的業務場景,
物聯網時代的創新

















https://www.openatom.org/#/indexPage
注冊成為華為開發者
https://developer.huawei.com/consumer/cn/

“開放原子”開源基金會
“開放原子”開源基金會:https://www.openatom.org/#/indexPage

OpenHarmony 的目標是支持可在多種終端設備上運行,既可運行在百 KB 級別的資源受限設備和穿戴類設備上,也可運行在百 MB 級別的智能家用攝像頭、行車記錄儀等相對資源豐富的設備上,以及 GB 級別的智能電視等設備上,第一個版本支持 128KB-128MB 的記憶體設備,
技術價值:OpenHarmony 采用了組件化的設計方案,可以根據設備的資源能力和業務特征進行靈活裁剪,滿足不同形態的終端設備對于作業系統的要求,
業務價值:將廣泛應用在智能家居物聯網終端、智能穿戴、智慧大屏、汽車智能座艙、音箱等智能終端,提供全場景跨設備的極致體驗,
生態價值:對設備開發者而言,OpenHarmony 采用了組件化的設計方案,可以根據設備的資源能力和業務特征進行靈活裁剪,滿足不同形態的終端設備對于作業系統的要求,對應用開發者而言,OpenHarmony 統一軟體架構打通了多種終端,使得應用程式的開發實作與不同終端設備的形態差異無關,降低了開發難度和成本,這能夠讓開發者聚焦上層業務邏輯、便捷開發應用程式,
harmony os源代碼:https://openharmony.gitee.com/openharmony
華為開發者大會
華為開發者大會2020(Together)丨主題演講直播回看:
https://developer.huawei.com/consumer/cn/training/detail/101600172153624030?channelname=HeZuo58&ha_source=banner
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/123060.html
標籤:其他
上一篇:傳統藍牙協議堆疊 串口協議SPP(Serial Port Profile)概念介紹
下一篇:在KEIL中運行,代碼用AT89C51單片機仿真很理想,用C8051F310單步執行的時候也很理想,但整個跑起來之后除錯的時候會未回應死機。
