chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

為大家揭秘HarmonyOS的內(nèi)核層

電子發(fā)燒友開源社區(qū) ? 來源:HarmonyOS開發(fā)者 ? 作者:jikecheng,miaoxie ? 2021-11-06 09:28 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

HarmonyOS整體框架分為四個(gè)層級(jí),如圖1所示。從上到下,依次為:第一層是應(yīng)用層,主要涵蓋系統(tǒng)應(yīng)用、Launcher、設(shè)置,以及三方應(yīng)用。第二層是框架層,提供基礎(chǔ)UI框架、用戶程序框架以及能力模塊框架。第三層是系統(tǒng)服務(wù)層,讓HarmonyOS具有分布式流轉(zhuǎn)負(fù)載的能力。大家看到的高速多設(shè)備協(xié)同能力就是由該層級(jí)提供。而承載整個(gè)操作系統(tǒng),同時(shí)發(fā)揮芯片算力的基石就沉淀在第四層——內(nèi)核層。宏觀來說,內(nèi)核的主要工作包含芯片資源管理、軟件任務(wù)調(diào)度,以及銜接用戶空間與系統(tǒng)調(diào)用能力。

68396112-3e41-11ec-82a9-dac502259ad0.png

圖1 HarmonyOS整體框架

本期,我們要重點(diǎn)給大家講一講HarmonyOS的內(nèi)核層。

一、HarmonyOS內(nèi)核構(gòu)成

為了支撐HarmonyOS在多設(shè)備、多場景下的性能表現(xiàn),內(nèi)核主要由三部分組成,如下圖所示:

6869456c-3e41-11ec-82a9-dac502259ad0.png

圖2 內(nèi)核的組成

HarmonyOS內(nèi)核組件:具有智慧化資源管理能力的內(nèi)核組件,包括CPU/GPU資源管理,內(nèi)存管理,IO調(diào)度管理以及高效的文件系統(tǒng)等。

標(biāo)準(zhǔn)的Linux內(nèi)核:兼容了LTS Linux主線版本,做好外圍生態(tài)的對接。

硬件平臺(tái)BSP:面向各種不同芯片與硬件平臺(tái)(包含1+8+N的多種設(shè)備)的BSP(board support package,板級(jí)支撐包)基礎(chǔ)能力。

本期要為大家介紹的就是HarmonyOS內(nèi)核組件的三項(xiàng)核心技術(shù):高能效CPU資源調(diào)度、Hyperhold內(nèi)存管理引擎和高效的文件系統(tǒng)。下面為大家一一揭曉~

二、高能效CPU資源調(diào)度

業(yè)界多數(shù)的操作系統(tǒng)都是基于標(biāo)準(zhǔn)的Linux內(nèi)核開發(fā)的。傳統(tǒng)的Linux內(nèi)核,早期用于服務(wù)器和PC設(shè)備,與我們現(xiàn)在用于手機(jī)、平板等的交互式內(nèi)核相比,它們的設(shè)計(jì)理念和資源管理方式有所不同。以CPU資源為例,傳統(tǒng)的Linux內(nèi)核存在以下典型問題:

1. 同優(yōu)先級(jí)的業(yè)務(wù)過多,每次調(diào)度都不一定選擇到關(guān)鍵進(jìn)程。

傳統(tǒng)的Linux內(nèi)核偏向于在多用戶的場景下公平地分配資源。比較明顯的特征是,多個(gè)用戶并發(fā)訪問,并發(fā)使用公共資源。由于同優(yōu)先級(jí)的業(yè)務(wù)比較多,每次任務(wù)調(diào)度不一定能夠選擇到關(guān)鍵進(jìn)程。舉個(gè)例子,當(dāng)設(shè)備后臺(tái)存在多個(gè)應(yīng)用或者服務(wù)任務(wù)時(shí),系統(tǒng)中和用戶交互最敏感的渲染任務(wù)沒法即時(shí)得到調(diào)度資源,導(dǎo)致設(shè)備會(huì)高概率出現(xiàn)使用不流暢或者點(diǎn)擊無響應(yīng)的現(xiàn)象,也就是咱們平時(shí)常說的隨機(jī)卡頓。

2. 選擇最優(yōu)能效的CPU資源時(shí)間過長,CPU資源選擇過度。

傳統(tǒng)的Linux內(nèi)核選擇算力的流程,是一個(gè)慢速爬坡的過程。任務(wù)調(diào)度必須經(jīng)過選擇CPU核簇、負(fù)載均衡、選擇頻點(diǎn)等一系列流程。其漫長的過程,極易導(dǎo)致任務(wù)調(diào)度錯(cuò)過調(diào)度窗口,出現(xiàn)算力供給不足的現(xiàn)象。

為了解決以上問題,HarmonyOS內(nèi)核提供了全棧式的調(diào)度框架,如下圖所示:

68b766e8-3e41-11ec-82a9-dac502259ad0.png

圖3 HarmonyOS調(diào)度管理框架

HarmonyOS調(diào)度管理框架有以下特點(diǎn):

任務(wù)按優(yōu)先級(jí)調(diào)度

對現(xiàn)有系統(tǒng)任務(wù)進(jìn)行嚴(yán)格級(jí)別劃分,在線標(biāo)記與用戶的操作體驗(yàn)直接相關(guān)的關(guān)鍵進(jìn)程和關(guān)聯(lián)任務(wù),優(yōu)先調(diào)度關(guān)鍵任務(wù)。

依據(jù)CPU負(fù)載情況選擇最優(yōu)任務(wù)分配

我們會(huì)動(dòng)態(tài)檢測不同CPU的負(fù)載,保證當(dāng)前CPU有足夠的算力提供。

選擇最優(yōu)頻點(diǎn)實(shí)現(xiàn)高能效

我們提供了頻點(diǎn)與性能、功耗之間的帕累托最優(yōu)模型。每次任務(wù),我們都能夠快速選擇系統(tǒng)最優(yōu)的頻點(diǎn)組合方式,實(shí)現(xiàn)最優(yōu)能效。

經(jīng)過試驗(yàn),HarmonyOS的全棧式調(diào)度框架可以幫助用戶獲得在多場景(尤其是游戲場景)下持續(xù)且穩(wěn)定的高幀率體驗(yàn)。

三、Hyperhold內(nèi)存管理引擎

對于內(nèi)存管理,由于開源生態(tài)的不限制,導(dǎo)致應(yīng)用開發(fā)的內(nèi)存使用野蠻生長。設(shè)備長時(shí)間使用后,可回收內(nèi)存越來越低。產(chǎn)生這個(gè)問題的原因有兩個(gè):

1. 傳統(tǒng)內(nèi)存數(shù)據(jù)冷熱管理,無法感知業(yè)務(wù)特性

盡管Linux內(nèi)核提供了很多的內(nèi)存回收機(jī)制,然而每種內(nèi)存回收都會(huì)有相應(yīng)的系統(tǒng)代價(jià)。比如,回收文件頁面后,如果系統(tǒng)需要二次加載這部分?jǐn)?shù)據(jù),需要從底層器件Flash里面把數(shù)據(jù)讀回來,這會(huì)引起Flash隨機(jī)IO讀的現(xiàn)象。對IO操作來說,F(xiàn)lash器件速度和當(dāng)前讀取任務(wù)是隨機(jī)讀還是順序讀有著很強(qiáng)的相關(guān)性,隨機(jī)讀容易導(dǎo)致系統(tǒng)隨機(jī)卡頓。再比如,回收匿名頁面后,如果系統(tǒng)需要二次加載這部分?jǐn)?shù)據(jù),會(huì)觸發(fā)ZRAM解壓,消耗CPU。

另外,由于應(yīng)用的內(nèi)存負(fù)載越來越重,當(dāng)系統(tǒng)冷熱數(shù)據(jù)識(shí)別不恰當(dāng),會(huì)導(dǎo)致系統(tǒng)的CPU負(fù)載長期處于高負(fù)載狀態(tài),最終影響前臺(tái)應(yīng)用的基礎(chǔ)性能。

2. 傳統(tǒng)共享式內(nèi)存分配,無法感知數(shù)據(jù)重要性

從內(nèi)存分配角度看,現(xiàn)在的操作系統(tǒng)基本采用統(tǒng)一接口的分配方式,使得手機(jī)里面多個(gè)進(jìn)程或多個(gè)業(yè)務(wù)會(huì)共用一塊內(nèi)存區(qū)域。數(shù)據(jù)回收時(shí),會(huì)頻繁出現(xiàn)數(shù)據(jù)搬移,以及內(nèi)存震蕩的現(xiàn)象。這個(gè)現(xiàn)象會(huì)加重內(nèi)核管理內(nèi)存的開銷。

為了解決傳統(tǒng)Linux內(nèi)核的內(nèi)存問題,HarmonyOS提供了Hyperhold內(nèi)存管理引擎。Hyperhold內(nèi)存管理引擎打通了上層系統(tǒng)到內(nèi)核的調(diào)用棧,讓內(nèi)核完整感知到應(yīng)用的整個(gè)生命周期,并結(jié)合應(yīng)用生命周期以及周期內(nèi)的數(shù)據(jù)訪問特征,對每一塊內(nèi)存數(shù)據(jù)做合理的內(nèi)存管理。同時(shí),為了降低內(nèi)核管理內(nèi)存的開銷,我們提出了自研的壓縮體系,包括多線程壓縮、自研的壓縮算法。為了進(jìn)一步擴(kuò)大可用空間,我們在Flash器件上開出了一塊可交換區(qū),結(jié)合自研的聚合換出和內(nèi)存標(biāo)記技術(shù),充分利用Flash器件的性能。

經(jīng)過試驗(yàn), Hyperhold內(nèi)存管理引擎可以讓應(yīng)用在后臺(tái)的駐留能力提升50%以上,用戶可以明顯感知到后臺(tái)應(yīng)用的?;盥视写蠓嵘?/p>

四、高效的文件系統(tǒng)

存儲(chǔ)處于整個(gè)緩存體系下的最慢路徑,容易成為系統(tǒng)性能瓶頸。不僅如此,由于存儲(chǔ)器件碎片化的問題,存儲(chǔ)還容易出現(xiàn)越用越慢的難題。其次,隨著系統(tǒng)的發(fā)展,系統(tǒng)占用存儲(chǔ)越來越多。而在多設(shè)備流轉(zhuǎn)的場景下,分布式文件系統(tǒng)的高效轉(zhuǎn)存能力顯得尤為重要。為應(yīng)對上述問題,HarmonyOS提供了高效的自研文件系統(tǒng)體系。從第一代的eF2FS到最新的HMDFS,文件系統(tǒng)逐步解決了碎片化問題、容量問題與多設(shè)備流轉(zhuǎn)問題。

下面我們從第一代的eF2FS到最新的HMDFS,依次介紹HarmonyOS文件系統(tǒng)的技術(shù)特點(diǎn)。

1. 第1代數(shù)據(jù)盤eF2FS:智能感知空間管理,改善越用越慢

面對存儲(chǔ)越用越慢的業(yè)界難題,我們通過數(shù)據(jù)類型感知的多流算法和空間感知的分配算法,減少碎片產(chǎn)生。同時(shí),通過高效、業(yè)務(wù)感知的兩層智能垃圾空間回收,實(shí)現(xiàn)智能感知空間管理。

2. 系統(tǒng)盤EROFS:變長壓縮,支持壓縮與性能雙贏

針對系統(tǒng)占用存儲(chǔ)越來越多的問題,業(yè)界其他操作系統(tǒng)也采取過改進(jìn)措施,比如squashfs采用“定長輸入,變長輸出”的壓縮策略,但會(huì)存在讀放大的問題。而我們的EROFS(Extendable Read-Only File System,超級(jí)文件系統(tǒng))采用“變長輸入,定長輸出”的壓縮策略,盡可能地將不等長的文件塊壓縮成一個(gè)等長的存儲(chǔ)塊進(jìn)行存儲(chǔ)。這樣,我們訪問任何文件塊,只需讀取一個(gè)存儲(chǔ)塊,減少了無效讀取。除此之外,我們在解壓性能和IO流程上也做了優(yōu)化。

通過以上關(guān)鍵技術(shù),系統(tǒng)盤EROFS的性能得到大幅提升:

隨機(jī)讀性能平均提升20%。

系統(tǒng)初始空間相比Ext4節(jié)省2GB,相當(dāng)于用戶可以多存1000張照片或500首歌曲。

升級(jí)包大小下降約5%-10%,升級(jí)時(shí)間縮短約20%。

3. 跨設(shè)備HMDFS:“批流”結(jié)合的分布式文件系統(tǒng)

HarmonyOS同一套系統(tǒng)能力、適配多種終端形態(tài)的分布式理念,就要求我們有一套數(shù)據(jù)流轉(zhuǎn)的底座——分布式文件系統(tǒng)HMDFS。

應(yīng)對多設(shè)備流轉(zhuǎn),HMDFS提供了多種文件系統(tǒng)能力,包括:

文件類型聚合

高效的緩存管理

批處理接口

分布式的權(quán)限管控

高效傳輸

數(shù)據(jù)一致性管理

通過上述一系列技術(shù)的研發(fā)與集成,最終實(shí)現(xiàn)了現(xiàn)有的跨設(shè)備高效文件系統(tǒng),為用戶提供流暢的分布式體驗(yàn)。

五、未來演進(jìn)方向

上面就是我們本期要介紹的HarmonyOS內(nèi)核核心技術(shù)內(nèi)容了。未來還有很多方向值得我們繼續(xù)探索,下圖列出了HarmonyOS內(nèi)核的未來演進(jìn)方向。

6a6e91a0-3e41-11ec-82a9-dac502259ad0.png

圖8 未來演進(jìn)方向

相信經(jīng)過我們不斷的探索,我們能打造出更好的內(nèi)核,為大家提供更流暢、體驗(yàn)更好的HarmonyOS!

責(zé)任編輯:haq

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

    關(guān)注

    37

    文章

    7262

    瀏覽量

    127936
  • 鴻蒙系統(tǒng)
    +關(guān)注

    關(guān)注

    183

    文章

    2642

    瀏覽量

    69009
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2141

    瀏覽量

    35020

原文標(biāo)題:HDC2021技術(shù)分論壇:HarmonyOS內(nèi)核技術(shù)大揭秘!

文章出處:【微信號(hào):HarmonyOS_Community,微信公眾號(hào):電子發(fā)燒友開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    HarmonyOS 5 入門系列 】鴻蒙HarmonyOS示例項(xiàng)目講解

    HarmonyOS 5 入門系列 】鴻蒙HarmonyOS示例項(xiàng)目講解 ##鴻蒙開發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類應(yīng)用 (金融理財(cái)# 一、前言:移動(dòng)開發(fā)聲明式 UI
    的頭像 發(fā)表于 07-07 11:57 ?628次閱讀
    【 <b class='flag-5'>HarmonyOS</b> 5 入門系列 】鴻蒙<b class='flag-5'>HarmonyOS</b>示例項(xiàng)目講解

    HarmonyOS next】ArkUI-X休閑益智記憶翻牌【進(jìn)階】

    本文通過記憶翻牌游戲?qū)崿F(xiàn),揭秘網(wǎng)絡(luò)圖片在HarmonyOS與iOS設(shè)備上的渲染差異,并提供專業(yè)級(jí)優(yōu)化方案。基于ArkUI-X的Web組件技術(shù),我們實(shí)現(xiàn)了一套代碼雙端運(yùn)行的混合架構(gòu)。 一、跨平臺(tái)
    發(fā)表于 06-28 22:12

    HarmonyOS入門指南

    1、文檔與教程 HarmonyOS開發(fā)文檔-應(yīng)用開發(fā)導(dǎo)讀 OpenHarmony--應(yīng)用開發(fā)導(dǎo)讀 倉頡編程語言官網(wǎng) 華為開發(fā)者博客 華為開發(fā)者問答專區(qū) 華為生態(tài)市場-鴻蒙生態(tài)市場
    的頭像 發(fā)表于 06-27 00:11 ?402次閱讀

    中軟國際正式啟動(dòng)鴻蒙軟件工場

    自2024年HarmonyOS NEXT版本起,HarmonyOS應(yīng)用框架更新鴻蒙“單框架”,正式告別了對Android應(yīng)用框架、內(nèi)核
    的頭像 發(fā)表于 06-17 15:44 ?647次閱讀

    比亞迪 · 超級(jí)e平臺(tái) · 技術(shù)方案的全面揭秘 | 第三曲: 30000轉(zhuǎn)驅(qū)動(dòng)電機(jī) · 12項(xiàng)核心技術(shù)揭秘

    比亞迪 · 超級(jí)e平臺(tái) · 技術(shù)方案的全面揭秘 | 第三曲: 30000轉(zhuǎn)驅(qū)動(dòng)電機(jī) · 12項(xiàng)核心技術(shù)揭秘
    的頭像 發(fā)表于 06-08 07:20 ?1491次閱讀
    比亞迪 · 超級(jí)e平臺(tái) · 技術(shù)方案的全面<b class='flag-5'>揭秘</b> | 第三曲: 30000轉(zhuǎn)驅(qū)動(dòng)電機(jī) · 12項(xiàng)核心技術(shù)<b class='flag-5'>揭秘</b>

    康謀洞察 | L3+智能座艙時(shí)代,主機(jī)廠三大核心需求揭秘!

    艙內(nèi)感知模型遇數(shù)據(jù)瓶頸?真實(shí)采集成本高、隱私限制嚴(yán)、長尾場景稀缺!行業(yè)正轉(zhuǎn)向合成數(shù)據(jù)破局,但仍面臨諸多困難。本文大家詳細(xì)揭秘析主機(jī)廠和算法供應(yīng)商的三大需求核心,加速破局!
    的頭像 發(fā)表于 05-21 09:55 ?2927次閱讀
    康謀洞察 | L3+智能座艙時(shí)代,主機(jī)廠三大核心需求<b class='flag-5'>揭秘</b>!

    第三屆大會(huì)回顧第2期 | HarmonyOS NEXT內(nèi)核驅(qū)動(dòng)生態(tài)兼容與競爭力思考

    隨著HarmonyOS NEXT生態(tài)和技術(shù)的發(fā)展,驅(qū)動(dòng)框架作為北向和南向的生態(tài)中樞,有很多的機(jī)會(huì)。例如,提供更多的信息到應(yīng)用,實(shí)現(xiàn)精準(zhǔn)的性能功耗控制;打破傳統(tǒng)的分層解耦,簡化關(guān)鍵協(xié)議、關(guān)鍵路徑等等。
    的頭像 發(fā)表于 05-19 19:17 ?1374次閱讀
    第三屆大會(huì)回顧第2期 | <b class='flag-5'>HarmonyOS</b> NEXT<b class='flag-5'>內(nèi)核</b>驅(qū)動(dòng)生態(tài)兼容與競爭力思考

    RK3568開發(fā)板內(nèi)核模塊實(shí)現(xiàn)-編寫 Makefile

    ;lt;文件>:將指定的文件(需要是以.o 結(jié)尾)設(shè)為編譯時(shí)以模塊形式編譯 第 4 行是設(shè)備樹內(nèi)核的源碼路徑,請大家根據(jù)實(shí)際內(nèi)核路徑進(jìn)行修改。 第 5 行是獲取當(dāng)前目錄的變量 第 7 行
    發(fā)表于 04-24 13:36

    8是分水嶺?揭秘高難度PCB的核心標(biāo)準(zhǔn)

    多少PCB才算高難度?捷多邦小編揭秘分層背后的技術(shù)博弈在智能硬件飛速迭代的今天,PCB層數(shù)已從簡單的雙面板一路飆升至100以上。但行業(yè)共識(shí)是:當(dāng)PCB突破8時(shí),才算真正邁入“高難
    的頭像 發(fā)表于 03-04 18:03 ?862次閱讀

    揭秘云計(jì)算架構(gòu)的分層奧秘

    的重要基石。那么,云計(jì)算架構(gòu)究竟是如何構(gòu)建的呢?今天,我們帶您揭秘云計(jì)算架構(gòu)的分層奧秘——邊緣、IaaS、PaaS、SaaS。
    的頭像 發(fā)表于 02-26 17:41 ?777次閱讀

    【技術(shù)分享】迅RK3568開發(fā)板使用TFTP加載內(nèi)核設(shè)備樹

    【技術(shù)分享】迅RK3568開發(fā)板使用TFTP加載內(nèi)核設(shè)備樹
    的頭像 發(fā)表于 02-21 14:04 ?953次閱讀
    【技術(shù)分享】迅<b class='flag-5'>為</b>RK3568開發(fā)板使用TFTP加載<b class='flag-5'>內(nèi)核</b>設(shè)備樹

    HarmonyOS開發(fā)指導(dǎo)類文檔更新速遞(下)

    伴隨著HarmonyOS 5.0.0 Release、HarmonyOS 5.0.1 Release版本的發(fā)布,HarmonyOS官網(wǎng)文檔也帶來了不少上新內(nèi)容。本期HarmonyOS
    的頭像 發(fā)表于 12-30 09:54 ?1729次閱讀
    <b class='flag-5'>HarmonyOS</b>開發(fā)指導(dǎo)類文檔更新速遞(下)

    HarmonyOS開發(fā)指導(dǎo)類文檔更新速遞(上)

    伴隨著HarmonyOS 5.0.0 Release版本的發(fā)布,HarmonyOS官網(wǎng)文檔也帶來了不少上新內(nèi)容。本期HarmonyOS NEXT開發(fā)者資料直通車將從文檔更新角度開發(fā)者
    的頭像 發(fā)表于 12-30 09:50 ?1459次閱讀
    <b class='flag-5'>HarmonyOS</b>開發(fā)指導(dǎo)類文檔更新速遞(上)

    CAN XL物理揭秘(下):物理組合與兼容性

    CAN XL網(wǎng)絡(luò)憑借物理革新,在汽車電子和工業(yè)通信中占據(jù)重要地位。在上篇中,我們深入探討了CAN XL網(wǎng)絡(luò)中的物理革新與優(yōu)勢(點(diǎn)擊回顧)。本文將繼續(xù)這一話題,重點(diǎn)介紹CAN XL網(wǎng)絡(luò)在實(shí)際應(yīng)用中的組合與兼容性問題,以及如何選擇合適的物理
    的頭像 發(fā)表于 11-29 15:27 ?944次閱讀
    CAN XL物理<b class='flag-5'>層</b><b class='flag-5'>揭秘</b>(下):物理<b class='flag-5'>層</b>組合與兼容性

    AWTK 最新動(dòng)態(tài):支持鴻蒙系統(tǒng)(HarmonyOS Next)

    導(dǎo)讀HarmonyOS是全球第三大移動(dòng)操作系統(tǒng),有巨大的市場潛力,在國產(chǎn)替代的背景下,機(jī)會(huì)多多,AWTK支持HarmonyOS,讓AWTK開發(fā)者也能享受HarmonyOS生態(tài)的紅利。AWTK全稱
    的頭像 發(fā)表于 11-06 08:03 ?1033次閱讀
    AWTK 最新動(dòng)態(tài):支持鴻蒙系統(tǒng)(<b class='flag-5'>HarmonyOS</b> Next)