0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

HarmonyOS如何用一套OS源碼部署到多種終端

HarmonyOS開發(fā)者 ? 來源:HarmonyOS開發(fā)者 ? 作者:HarmonyOS開發(fā)者 ? 2021-12-31 16:44 ? 次閱讀

作者:peitaiyi,華為終端OS產品交付專家HarmonyOS是一款面向萬物互聯(lián)時代的、全新的分布式操作系統(tǒng)。在傳統(tǒng)的單設備系統(tǒng)能力基礎上,HarmonyOS提出了基于同一套系統(tǒng)能力、適配多種終端形態(tài)的分布式理念,能夠支持手機、平板、智能穿戴、智慧屏、車機等多種終端設備,實現(xiàn)更好的萬物互聯(lián)。那么,HarmonyOS是如何用一套OS源碼部署到多種終端的呢?本文將為你揭秘。

一、面臨的挑戰(zhàn)

首先,我們先簡單介紹一套OS部署到多種終端面臨的兩大挑戰(zhàn)。

傳統(tǒng)OS能力比較單一:一套OS系統(tǒng)部署到多種終端,不僅要支持百KB到GB級的內存,還需支持主流CPU架構、板級的器件、各種SoC及外設模組。而傳統(tǒng)OS大都是單設備操作系統(tǒng),一套OS僅適配于一套設備,無法滿足碎片化的硬件需求。

傳統(tǒng)OS裁剪拼裝能力差:產品形態(tài)分布于千行百業(yè),大到汽車、電視、手機,小到手表、門鈴、烤箱,不同功能的產品對OS的能力訴求不同,這要求OS可以靈活地剪和拼裝。而傳統(tǒng)OS裁剪拼裝能力差,無法滿足千行百業(yè)的產品。

007555de-68b9-11ec-b2e9-dac502259ad0.png

圖1 硬件和產品形態(tài)的碎片

二、HarmonyOS應對策略

基于上述的挑戰(zhàn),HarmonyOS應對策略是“OS可大可小,部件一次開發(fā)可在多種終端上部署” 。

1. 部件介紹部件是HarmonyOS系統(tǒng)能力的基本單元,具有可復用、可裁剪、可配置、可獨立編譯和測試的特點。以源碼、配置和資源文件為劃分依據(jù),擁有獨立的文件和目錄,可在不同的設備上實例化為不同的庫或二進制文件,圖2所示。從系統(tǒng)角度看,部件可視為任何能運行在HarmonyOS上的軟件。從外部設備看,部件則可視為一個個按設備所需組裝成OS的系統(tǒng)能力。

00b4e866-68b9-11ec-b2e9-dac502259ad0.png

圖2 HarmonyOS部件化示意圖2. 部件拼裝

HarmonyOS源碼由“必選部件集”和“可選部件集”組成,必選部件集具有HarmonyOS特征的必選系統(tǒng)能力,可選部件集則具有產品可裁剪的系統(tǒng)能力。被裁剪的部件只會引起對應系統(tǒng)能力的缺失,不會引起系統(tǒng)的異常。

必選部件和可選部件像“積木”一樣,根據(jù)設備硬件模塊(攝像頭、揚聲器、屏幕、網(wǎng)絡)與內存大小靈活拼裝成不同的OS軟件包,并部署到不同設備?!按笤O備裝大系統(tǒng),小設備裝小系統(tǒng)?!睙o論智能設備的運存大小如何,總能找到匹配TA的那一塊系統(tǒng)積木。

圖3 積木拼裝HarmonyOS部件拼裝流程如圖4所示。HarmonyOS發(fā)布歸一化的SDK,應用開發(fā)者使用SDK和IDE進行跨設備的應用開發(fā),再按不同的設備類型分發(fā)應用。同時,三方的部件也可以與OS軟件包一起部署到設備中。

0152b9e2-68b9-11ec-b2e9-dac502259ad0.png

圖4 HarmonyOS部件拼裝流程至此,相信大家對部件拼裝有了一定的認識。隨著萬物互聯(lián)時代的不斷發(fā)展,HarmonyOS將適配越來越多的硬件設備,這就使得部件開發(fā)將馬不停蹄,以適應千行百業(yè)的硬件產品。開發(fā)者如何開發(fā)部件呢?下文將為你解答。

三、如何開發(fā)部件

我們都知道,HarmonyOS是基于開源項目OpenHarmony開發(fā)的面向多種全場景智能設備的商用版本,HarmonyOS的部件大都來自OpenHarmony,所以下文對部件開發(fā)的解答,將圍繞OpenHarmony部件的開發(fā)展開。

在OpenHarmony生態(tài)中有三大類開發(fā)者:OS開發(fā)者、芯片解決方案廠商和產品解決方案廠商,如圖5所示。

0190e8ac-68b9-11ec-b2e9-dac502259ad0.png

圖5 OpenHarmony開發(fā)者

OS開發(fā)者提供OpenHarmony所需的部件,包括內核、驅動框架、圖形、媒體等基礎的系統(tǒng)能力。

芯片解決方案廠商對OS的驅動和接口進行適配,形成基于開發(fā)板的完整芯片解決方案。

產品解決方案廠商基于OS和成熟的芯片解決方案組裝產品。

1. 部件標準化

部件開發(fā)前需完備部件詳細設計,在此過程中部件標準化尤為重要。

部件標準化確定了部件的名稱、功能、可配置的特性、詳細的規(guī)格和依賴。一個典型的部件的定義,圖6所示。它包含了部件的名稱、功能描述、是否系統(tǒng)必選、ROM/RAM、可配置特性和依賴等等。部件的依賴應盡量簡單合理,杜絕循環(huán)和冗余的依賴。禁止部件直接依賴特定硬件和產品。

01f7d454-68b9-11ec-b2e9-dac502259ad0.png

圖6 部件定義文件只有OS的系統(tǒng)能力都按部件進行標準化后,對外的系統(tǒng)能力才能靈活按需拼裝。2. 部件、開發(fā)板和產品嚴格解耦

為了保持OS可裁剪可拼裝的能力,部件開發(fā)過程中,部件與開發(fā)板和產品之間應嚴格解耦且可獨立編譯。至此,我們將開發(fā)視圖分為OS部件、芯片解決方案和產品解決方案,如圖7所示。“OS部件”目錄主要存放OS的能力集,比如內核、媒體、圖形、電話、分布式軟總線、安全等等?!靶酒鉀Q方案”目錄主要存放芯片廠商基于某個開發(fā)板或者SoC對OS的適配?!爱a品解決方案”目錄主要存放產品相關的配置以及廠商對OS接口的實現(xiàn)。

02679f78-68b9-11ec-b2e9-dac502259ad0.png

圖7 OpenHarmony開發(fā)視圖目錄樹示意圖基于OpenHarmony開發(fā)視圖目錄樹,實現(xiàn)了部件、開發(fā)板和產品各自獨立的開發(fā),保障了三者良好的解耦性。3. 全流程管控

部件在設計、開發(fā)和測試過程中,需嚴格管控整個流程。如圖8所示,設計文檔在對應PMC審核通過后方可啟動部件的開發(fā),在SIG組開發(fā)功能成熟后,再經(jīng)OpenHarmony對應子系統(tǒng)的committer審核合入。合入后,測試團隊將按部件獨立測試驗收,驗收的范圍不僅包括部件的功能和穩(wěn)定性,還包括部件是否可獨立編譯、獨立測試、依賴是否合入等等。HPM(HarmonyOS Package Manager)審核人員審核通過后,便可以申請HPM上架。

02aa14ca-68b9-11ec-b2e9-dac502259ad0.png

圖8 HarmonyOS部件管控流程

說明:

PMC(Projects Management Centre)是指項目管理委員會,負責OpenHarmony 社區(qū)的管理工作,擁有代碼庫寫權限、OpenHarmony 新版本發(fā)布、Roadmap發(fā)布、新PMC/Committer等社區(qū)事務的投票權、以及新的 PMC 成員和 Committer 提名權。

SIG(Special Interest Group)是指特別興趣小組,SIG在PMC項目管理委員會指導下,負責OpenHarmony社區(qū)特定子領域及創(chuàng)新項目的架構設計、開源開發(fā)及項目維護等工作。以上就是本期全部內容!相信大家對部件有了一定的認識,歡迎廣大開發(fā)者參與到部件開發(fā)中。

原文標題:“積木拼裝”,HarmonyOS彈性部署大揭秘!

文章出處:【微信公眾號:HarmonyOS開發(fā)者】歡迎添加關注!文章轉載請注明出處。

審核編輯:彭菁

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10813

    瀏覽量

    210880
  • 終端
    +關注

    關注

    1

    文章

    1107

    瀏覽量

    29804
  • HarmonyOS
    +關注

    關注

    79

    文章

    1966

    瀏覽量

    29964

原文標題:“積木拼裝”,HarmonyOS彈性部署大揭秘!

文章出處:【微信號:HarmonyOS_Dev,微信公眾號:HarmonyOS開發(fā)者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    HarmonyOS應用開發(fā)-設計、文檔、源碼、資源查閱&下載匯總

    `鴻蒙系統(tǒng)概述HarmonyOS款“面向未來”、面向全場景的分布式操作系統(tǒng)。在傳統(tǒng)的單設備系統(tǒng)能力的基礎上,HarmonyOS提出了基于同一套系統(tǒng)能力、適配
    發(fā)表于 09-15 15:34

    HarmonyOS】應用開發(fā)-設計、文檔、源碼、資源查閱&下載匯總

    HarmonyOS款“面向未來”、面向全場景的分布式操作系統(tǒng)。在傳統(tǒng)的單設備系統(tǒng)能力的基礎上,HarmonyOS提出了基于同一套系統(tǒng)能力、適配
    發(fā)表于 10-12 18:00

    HarmonyOS學習之:鴻蒙HarmonyOS系統(tǒng)簡介

    款面向未來、面向全場景(適應移動辦公、運動健康、社交通信、媒體娛樂等設備)的分布式操作系統(tǒng)。在傳統(tǒng)的單設備系統(tǒng)能力的基礎上,HarmonyOS提出了基于同一套系統(tǒng)能力、適配多種
    發(fā)表于 11-25 14:44

    [文章] HarmonyOS學習之:鴻蒙HarmonyOS系統(tǒng)介紹

    款面向未來、面向全場景(適應移動辦公、運動健康、社交通信、媒體娛樂等設備)的分布式操作系統(tǒng)。在傳統(tǒng)的單設備系統(tǒng)能力的基礎上,HarmonyOS提出了基于同一套系統(tǒng)能力、適配多種
    發(fā)表于 11-26 15:26

    [文章] HarmonyOS學習之:鴻蒙HarmonyOS系統(tǒng)介紹

    款面向未來、面向全場景(適應移動辦公、運動健康、社交通信、媒體娛樂等設備)的分布式操作系統(tǒng)。在傳統(tǒng)的單設備系統(tǒng)能力的基礎上,HarmonyOS提出了基于同一套系統(tǒng)能力、適配多種
    發(fā)表于 12-02 16:57

    文帶你看懂HarmonyOS如何適配多種終端

    特征靈活裁剪,滿足不同形態(tài)終端設備對操作系統(tǒng)的要求。也就是說,一套HarmonyOS可以部署不同的終端
    發(fā)表于 10-12 14:37

    HDC2021技術分論壇:“積木拼裝”,HarmonyOS彈性部署大揭秘!

    終端形態(tài)的分布式理念,能夠支持手機、平板、智能穿戴、智慧屏、車機等多種終端設備,實現(xiàn)更好的萬物互聯(lián)。那么,HarmonyOS是如何用
    發(fā)表于 12-27 10:26

    APL庫是一套AS功能庫與OS操作對象的集合

    首先,在AS控制器側,它是個MotL功能塊(Function Block);在OS側,它卻是此功能塊對應的電機圖標(Block Icon)和一套操作面板(Faceplate),APL定義了
    的頭像 發(fā)表于 12-05 14:31 ?5939次閱讀
    APL庫是<b class='flag-5'>一套</b>AS功能庫與<b class='flag-5'>OS</b>操作對象的集合

    文解析HarmonyOS的技術特性、子系統(tǒng)架構、四大技術特性

    官方的定義,HarmonyOS款“面向未來”、面向全場景(移動辦公、運動健康、社交通信、媒體娛樂等)的分布式操作系統(tǒng)。在傳統(tǒng)的單設備系統(tǒng)能力的基礎上,HarmonyOS提出了基于同一套
    的頭像 發(fā)表于 03-18 11:28 ?6017次閱讀
    <b class='flag-5'>一</b>文解析<b class='flag-5'>HarmonyOS</b>的技術特性、子系統(tǒng)架構、四大技術特性

    HarmonyOS學習之:鴻蒙系統(tǒng)簡介

    在傳統(tǒng)的單設備系統(tǒng)能力的基礎上,HarmonyOS提出了基于同一套系統(tǒng)能力、適配多種終端形態(tài)的分布式理念,能夠支持多種
    發(fā)表于 11-27 17:20 ?39次下載

    鴻蒙OS與Lite OS的區(qū)別是什么

    鴻蒙OS鴻蒙OS面向未來、面向全場景、分布式。在單設備系統(tǒng)能力基礎上,鴻蒙OS提出了基于同一套系統(tǒng)能力、適配多種
    的頭像 發(fā)表于 12-24 12:40 ?4852次閱讀

    HarmonyOS提出了基于同一套系統(tǒng)能力、適配多種終端形態(tài)的分布式理念

    HarmonyOS能夠將生活場景中的各類終端進行能力整合,可以實現(xiàn)不同的終端設備之間的快速連接、能力互助、資源共享,匹配合適的設備、提供流暢的全場景體驗。
    的頭像 發(fā)表于 01-08 16:37 ?2310次閱讀

    解讀HarmonyOS如何實現(xiàn)一套網(wǎng)絡請求框架

    本期我們?yōu)榇蠹規(guī)淼氖情_發(fā)者裴云飛投稿的“HarmonyOS網(wǎng)絡請求框架實現(xiàn)”,這個網(wǎng)絡請求框架被命名為“蒹葭(JianJia)”。其原理是將Retrofit移植HarmonyOS上,同時還實現(xiàn)
    的頭像 發(fā)表于 05-18 11:21 ?3096次閱讀

    華為開發(fā)者大會2021智能硬件開發(fā)—一套OS源碼拼裝產品流程

    體驗的未來。 一套OS源碼拼裝產品流程: 直播間:http://t.elecfans.com/live/1706.html 編輯:ymf
    的頭像 發(fā)表于 10-23 11:53 ?1460次閱讀
    華為開發(fā)者大會2021智能硬件開發(fā)—<b class='flag-5'>一套</b><b class='flag-5'>OS</b><b class='flag-5'>源碼</b>拼裝產品流程

    何用java語言開發(fā)一套數(shù)字化產科系統(tǒng)? 數(shù)字化產科管理平臺源碼

    何用java語言開發(fā)一套數(shù)字化產科系統(tǒng) 數(shù)字化產科管理平臺源碼
    的頭像 發(fā)表于 07-06 09:38 ?965次閱讀
    如<b class='flag-5'>何用</b>java語言開發(fā)<b class='flag-5'>一套</b>數(shù)字化產科系統(tǒng)? 數(shù)字化產科管理平臺<b class='flag-5'>源碼</b>