国产chinesehdxxxx老太婆,办公室玩弄爆乳女秘hd,扒开腿狂躁女人爽出白浆 ,丁香婷婷激情俺也去俺来也,ww国产内射精品后入国产

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

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

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

OpenHarmony輕量系統(tǒng)中內(nèi)核資源主要管理方式

OpenAtom OpenHarmony ? 來(lái)源:未知 ? 2022-10-20 23:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

點(diǎn)擊藍(lán)字 ╳ 關(guān)注我們

開(kāi)源項(xiàng)目 OpenHarmony是每個(gè)人的 OpenHarmony e847a8aa-5088-11ed-a3b6-dac502259ad0.jpg

冷欽街

軟通動(dòng)力

高級(jí)技術(shù)專(zhuān)家、產(chǎn)品推薦官

以下內(nèi)容來(lái)自嘉賓分享,不代表開(kāi)放原子開(kāi)源基金會(huì)觀(guān)點(diǎn)

一、背景

OpenAtom OpenHarmony(以下簡(jiǎn)稱(chēng)“OpenHarmony”)輕量系統(tǒng)面向MCU類(lèi)處理器例如ARM Cortex-M、RISC-V 32位的設(shè)備,硬件資源極其有限,支持的設(shè)備最小內(nèi)存為128KiB,可以提供多種輕量級(jí)網(wǎng)絡(luò)協(xié)議,輕量級(jí)的圖形框架,以及豐富的IOT總線(xiàn)讀寫(xiě)部件等??芍蔚漠a(chǎn)品如智能家居領(lǐng)域的連接類(lèi)模組、傳感器設(shè)備、穿戴類(lèi)設(shè)備等。 在輕量系統(tǒng)內(nèi)核中,由于可用內(nèi)存資源少,一般的數(shù)據(jù)資源都是小批量的,所以其資源管理方式都比較簡(jiǎn)單且相似,本文重點(diǎn)講解在輕量系統(tǒng)內(nèi)核中,典型的資源的存儲(chǔ)和訪(fǎng)問(wèn)方式。這些典型的資源包括互斥鎖,信號(hào)量、消息隊(duì)列、事件、定時(shí)器等。 本文以互斥鎖為例來(lái)探究其內(nèi)核資源的主要管理方式。 互斥鎖軟件模塊相關(guān)的代碼在如下位置 https://gitee.com/openharmony/kernel_liteos_m/blob/master/kernel/src/los_mux.c https://gitee.com/openharmony/kernel_liteos_m/blob/master/kernel/include/los_mux.h

二、模塊使能和容量

互斥鎖軟件模塊是編譯可裁剪模塊,可以通過(guò)編譯配置宏來(lái)打開(kāi)或者關(guān)閉具體的編譯配置宏定義在https://gitee.com/openharmony/kernel_liteos_m/blob/master/kernel/include/los_config.h文件中 e8807ab8-5088-11ed-a3b6-dac502259ad0.png ? 通過(guò)這個(gè)文件可知,liteos_m內(nèi)核默認(rèn)是使能互斥鎖功能的,但我們根據(jù)具體產(chǎn)品可以對(duì)其進(jìn)行設(shè)置,如某產(chǎn)品對(duì)應(yīng)的配置文件https://gitee.com/openharmony/device_qemu/blob/master/arm_mps2_an386/liteos_m/board/target_config.h ?e895240e-5088-11ed-a3b6-dac502259ad0.png ? 這里明確看到此產(chǎn)品使用了互斥鎖功能,如果需要將其關(guān)閉,直接修改成0值即可。 互斥鎖支持的最大數(shù)目不同產(chǎn)品可以不同,當(dāng)前這個(gè)產(chǎn)品為24,如果產(chǎn)品沒(méi)有定義容量限制,那么使用默認(rèn)容量限制(見(jiàn)los_config.h中)。 ?e8af5c16-5088-11ed-a3b6-dac502259ad0.png ?1.數(shù)據(jù)保存方式 由于容量較小,采用數(shù)組這種簡(jiǎn)單和原始的數(shù)據(jù)保存方式,在系統(tǒng)初始化的時(shí)候申請(qǐng)數(shù)組內(nèi)存。如下(los_mux.c中) e8d362e6-5088-11ed-a3b6-dac502259ad0.png ?

三、數(shù)據(jù)訪(fǎng)問(wèn)方式

由于輕量系統(tǒng)的計(jì)算資源相對(duì)受限,因此需要在算法上斤斤計(jì)較。目前提供了ID方式(數(shù)組下標(biāo)訪(fǎng)問(wèn))和鏈表訪(fǎng)問(wèn)2種方式,如下進(jìn)行詳細(xì)說(shuō)明。1.通過(guò)ID訪(fǎng)問(wèn) 在los_mux.h中,定義了通過(guò)id訪(fǎng)問(wèn)互斥鎖的方法,其實(shí)質(zhì)就是數(shù)組下標(biāo)訪(fǎng)問(wèn),獲取具體互斥鎖資源的地址 e8eb7bba-5088-11ed-a3b6-dac502259ad0.png ?2.通過(guò)空閑鏈表訪(fǎng)問(wèn) 隨著互斥鎖的申請(qǐng)和釋放,系統(tǒng)中當(dāng)前正在使用的互斥鎖數(shù)目是動(dòng)態(tài)變化的。由于采用了數(shù)組存儲(chǔ)以及內(nèi)存預(yù)留的策略,所以數(shù)組中的互斥鎖有些是空閑的,有些是正在使用的,并且其狀態(tài)隨著系統(tǒng)的運(yùn)行過(guò)程而無(wú)規(guī)律地變化。 若僅依賴(lài)于數(shù)組方式訪(fǎng)問(wèn)互斥鎖,則查詢(xún)空閑互斥鎖是一個(gè)稍耗時(shí)的算法,因?yàn)橐闅v數(shù)組。 為了加快空閑互斥鎖的查詢(xún),本系統(tǒng)采用了將所有空閑互斥鎖組織成鏈表的方法。這樣每次取出鏈表第一個(gè)節(jié)點(diǎn)即可,可以極大提升性能。 在los_mux.h中,通過(guò)增加muxList字段將所有空閑的互斥鎖組織成鏈表 e8fd808a-5088-11ed-a3b6-dac502259ad0.png ? 在los_mux.c中,系統(tǒng)初始化時(shí),所有互斥鎖都為空閑狀態(tài),放入空閑鏈表 ?e91384ac-5088-11ed-a3b6-dac502259ad0.png ? 在los_mux.c中,創(chuàng)建互斥鎖時(shí),從空閑鏈表取下空閑狀態(tài)的互斥鎖 ?e92d164c-5088-11ed-a3b6-dac502259ad0.png ? 在los_mux.c中,釋放互斥鎖時(shí),將互斥鎖放入空閑鏈表 ?e9473a68-5088-11ed-a3b6-dac502259ad0.png ?

四、健壯性考慮

1.空閑狀態(tài)雙保險(xiǎn) 除了通過(guò)判斷是否在空閑鏈表上來(lái)判斷描述符是否空閑以外,在結(jié)構(gòu)體中也保存了是否空閑的狀態(tài),這樣可以增加空閑狀態(tài)判斷的健壯性;另外,通過(guò)直接判斷狀態(tài)也比判斷是否在鏈表中性能更高。如下(los_mux.c中): e95c7464-5088-11ed-a3b6-dac502259ad0.png ?2.中斷上下文保護(hù) 由于在中斷上下文中不允許有睡眠操作,而互斥鎖獲取邏輯就是典型的具有睡眠操作的邏輯,所以,互斥鎖的獲取和釋放不能在中斷上下文中,如下(los_mux.c中)。 e974be20-5088-11ed-a3b6-dac502259ad0.png ?3.任務(wù)切換保護(hù) IPC操作有時(shí)會(huì)需要任務(wù)切換,如果當(dāng)前任務(wù)切換功能被臨時(shí)關(guān)閉,則不允許進(jìn)行IPC操作,互斥鎖獲取操作也是IPC操作的一種。 代碼如下(los_mux.c): e98eb23a-5088-11ed-a3b6-dac502259ad0.png ?4.關(guān)鍵任務(wù)不允許切換 一些系統(tǒng)關(guān)鍵任務(wù)運(yùn)行后,不允許執(zhí)行IPC邏輯,比如軟件定時(shí)器任務(wù):其監(jiān)控多個(gè)定時(shí)器的超時(shí)。假定其執(zhí)行IPC邏輯導(dǎo)致任務(wù)等待某資源比較長(zhǎng)的時(shí)間,會(huì)導(dǎo)致后續(xù)部分定時(shí)器定時(shí)功能失效(不準(zhǔn)確)。代碼如下(los_mux.c): e9a3b892-5088-11ed-a3b6-dac502259ad0.png ?

五、總結(jié)

輕量系統(tǒng)中內(nèi)核資源多采用數(shù)組與空閑鏈表相結(jié)合的方式。除了OpenHarmony輕量系統(tǒng),其他嵌入式系統(tǒng)中這類(lèi)的數(shù)據(jù)存儲(chǔ)方式也比較常見(jiàn)。這種方式有如下幾個(gè)突出的優(yōu)點(diǎn)簡(jiǎn)單易懂

讀寫(xiě)效率高

代碼緊湊


原文標(biāo)題:OpenHarmony輕量系統(tǒng)中內(nèi)核資源主要管理方式

文章出處:【微信公眾號(hào):OpenAtom OpenHarmony】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

    關(guān)注

    29

    文章

    3856

    瀏覽量

    18651

原文標(biāo)題:OpenHarmony輕量系統(tǒng)中內(nèi)核資源主要管理方式

文章出處:【微信號(hào):gh_e4f28cfa3159,微信公眾號(hào):OpenAtom OpenHarmony】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    【匯總】OpenHarmony系統(tǒng)開(kāi)發(fā)目錄和個(gè)人感悟

    前言還記得2020年9月OpenHarmony大會(huì)后,我開(kāi)始在社區(qū)寫(xiě)了一些OpenHarmony系統(tǒng)開(kāi)發(fā)的文章,基于Hi3861。轉(zhuǎn)眼已
    發(fā)表于 01-20 09:04

    從零移植OpenHarmony系統(tǒng)【1】移植思路

    移植類(lèi)型OpenHarmony系統(tǒng)的移植比較簡(jiǎn)單,代碼解耦做得非常好。從代碼的設(shè)計(jì)理念上來(lái)看,移植
    發(fā)表于 01-26 17:18

    移植OpenHarmony系統(tǒng)【7】燒錄與驗(yàn)證

    摘要:本文簡(jiǎn)單介紹OpenHarmony系統(tǒng)移植,內(nèi)核初始化和啟動(dòng)適合群體:想自己動(dòng)手移植OpenH
    發(fā)表于 02-09 18:09

    從零開(kāi)始移植OpenHarmony系統(tǒng)

    內(nèi)核移植到ARM單片機(jī)上,現(xiàn)在代碼開(kāi)源、移植文章也完成7篇,后續(xù)會(huì)考慮增加視頻講解,直播。以便大家也可以自己移植。移植文章:移植OpenHarmony
    發(fā)表于 02-09 18:58

    OpenHarmony支持的系統(tǒng)類(lèi)型及內(nèi)核

    本文介紹OpenHarmony所不同的系統(tǒng)類(lèi)型以及支持的內(nèi)核系統(tǒng)類(lèi)型OpenHarmony支持以下幾種
    發(fā)表于 04-19 11:29

    OpenHarmony與小型系統(tǒng)入門(mén)概述

    參考和小型系統(tǒng)快速入門(mén)(安裝包方式)。 開(kāi)發(fā)環(huán)境 開(kāi)發(fā)者通常習(xí)慣采用Windows+Ubuntu環(huán)境進(jìn)行OpenHarmony開(kāi)發(fā): W
    發(fā)表于 05-06 15:48

    OpenHarmony系統(tǒng)內(nèi)核資源主要管理方式

    資源少,一般的數(shù)據(jù)資源都是小批量的,所以其資源管理方式都比較簡(jiǎn)單且相似,本文重點(diǎn)講解在系統(tǒng)
    發(fā)表于 10-21 11:34

    OpenHarmony Dev-Board-SIG專(zhuān)場(chǎng):ARM架構(gòu)和MIPS架構(gòu)移植OpenHarmony系統(tǒng)

    OpenHarmony Dev-Board-SIG專(zhuān)場(chǎng):ARM架構(gòu)和MIPS架構(gòu)移植OpenHarmony系統(tǒng)
    的頭像 發(fā)表于 12-28 16:00 ?2150次閱讀
    <b class='flag-5'>OpenHarmony</b> Dev-Board-SIG專(zhuān)場(chǎng):ARM架構(gòu)和MIPS架構(gòu)移植<b class='flag-5'>OpenHarmony</b><b class='flag-5'>輕</b><b class='flag-5'>量</b><b class='flag-5'>系統(tǒng)</b>

    OpenHarmony Dev-Board-SIG專(zhuān)場(chǎng):MIPS架構(gòu)移植OpenHarmony系統(tǒng)展示

    OpenHarmony Dev-Board-SIG專(zhuān)場(chǎng):MIPS構(gòu)架移植OpenHarmony系統(tǒng)展示
    的頭像 發(fā)表于 12-28 16:07 ?1734次閱讀
    <b class='flag-5'>OpenHarmony</b> Dev-Board-SIG專(zhuān)場(chǎng):MIPS架構(gòu)移植<b class='flag-5'>OpenHarmony</b><b class='flag-5'>輕</b><b class='flag-5'>量</b><b class='flag-5'>系統(tǒng)</b>展示

    OpenHarmony、系統(tǒng)、小型系統(tǒng)、標(biāo)準(zhǔn)系統(tǒng)的差異

    本文簡(jiǎn)單介紹OpenHarmony系統(tǒng)、小型系統(tǒng)、標(biāo)準(zhǔn)系統(tǒng)的差異,以及相關(guān)的官方資料和文檔
    的頭像 發(fā)表于 01-24 14:47 ?7927次閱讀
    <b class='flag-5'>OpenHarmony</b>、<b class='flag-5'>輕</b><b class='flag-5'>量</b><b class='flag-5'>系統(tǒng)</b>、小型<b class='flag-5'>系統(tǒng)</b>、標(biāo)準(zhǔn)<b class='flag-5'>系統(tǒng)</b>的差異

    關(guān)于OpenHarmony系統(tǒng)開(kāi)發(fā)

    還記得2020年9月OpenHarmony大會(huì)后,我開(kāi)始在社區(qū)寫(xiě)了一些OpenHarmony系統(tǒng)開(kāi)發(fā)的文章,基于Hi3861。
    的頭像 發(fā)表于 01-24 14:54 ?2146次閱讀

    如何移植OpenHarmony系統(tǒng)

    摘要:本文簡(jiǎn)單介紹OpenHarmony系統(tǒng)移植,會(huì)分多篇
    的頭像 發(fā)表于 02-25 12:14 ?3534次閱讀
    如何移植<b class='flag-5'>OpenHarmony</b><b class='flag-5'>輕</b><b class='flag-5'>量</b><b class='flag-5'>系統(tǒng)</b>

    OpenHarmony系統(tǒng)開(kāi)發(fā)【1】初始OH

    本文簡(jiǎn)單介紹OpenHarmony、系統(tǒng)、小型系統(tǒng)、標(biāo)準(zhǔn)系統(tǒng)的差異,以及相關(guān)的官方資料和文檔
    發(fā)表于 02-25 17:49 ?1210次閱讀

    OpenHarmony系統(tǒng)書(shū)籍推薦《OpenHarmony設(shè)備開(kāi)發(fā)理論與實(shí)戰(zhàn)》

    最近大家問(wèn)的智能家居套件方面有沒(méi)有可以參考的資料,這里給大家統(tǒng)一回復(fù)一下 推薦大家可以看這本書(shū) 《OpenHarmony設(shè)備開(kāi)發(fā)理論與實(shí)戰(zhàn)》 本書(shū)系統(tǒng)地講授
    的頭像 發(fā)表于 07-20 12:43 ?1784次閱讀

    【開(kāi)源鴻蒙】使用QEMU運(yùn)行OpenHarmony系統(tǒng)

    本文將會(huì)介紹如何從源碼安裝QEMU 6.2.0,以及如何使用QEMU運(yùn)行OpenHarmony系統(tǒng)。通過(guò)本文,你將會(huì)對(duì)QEMU和OpenHarm
    的頭像 發(fā)表于 09-14 08:51 ?1368次閱讀
    【開(kāi)源鴻蒙】使用QEMU運(yùn)行<b class='flag-5'>OpenHarmony</b><b class='flag-5'>輕</b><b class='flag-5'>量</b><b class='flag-5'>系統(tǒng)</b>