www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 公眾號(hào)精選 > 小熊派開源社區(qū)
[導(dǎo)讀]HuaweiLiteOSHuaweiLiteOS是華為面向IoT領(lǐng)域,構(gòu)建的“統(tǒng)一物聯(lián)網(wǎng)操作系統(tǒng)和中間件軟件平臺(tái)”,以輕量級(jí)(內(nèi)核小于10k)、低功耗(1節(jié)5號(hào)電池最多可以工作5年),快速啟動(dòng),互聯(lián)互通,安全等關(guān)鍵能力,為開發(fā)者提供“一站式”完整軟件平臺(tái),有效降低開發(fā)門檻、縮短開...

Huawei LiteOSHuawei LiteOS是華為面向IoT領(lǐng)域,構(gòu)建的“統(tǒng)一物聯(lián)網(wǎng)操作系統(tǒng)和中間件軟件平臺(tái)”,以輕量級(jí)(內(nèi)核小于10k)、低功耗(1節(jié)5號(hào)電池最多可以工作5年),快速啟動(dòng),互聯(lián)互通,安全等關(guān)鍵能力,為開發(fā)者提供“一站式”完整軟件平臺(tái),有效降低開發(fā)門檻、縮短開發(fā)周期。下面對(duì)LiteOS基礎(chǔ)內(nèi)核的任務(wù)管理、內(nèi)存管理、中斷管理、信號(hào)量、互斥鎖五大模塊進(jìn)行簡(jiǎn)單介紹。

01
LiteOS內(nèi)核的任務(wù)管理


基本概念和功能任務(wù)是競(jìng)爭(zhēng)系統(tǒng)資源的最小運(yùn)行單元。任務(wù)可以使用或等待CPU、使用內(nèi)存空間等系統(tǒng)資源,并獨(dú)立于其它任務(wù)運(yùn)行。
Huawei LiteOS是一個(gè)支持多任務(wù)的操作系統(tǒng),一個(gè)任務(wù)就表示一個(gè)線程,任務(wù)之間可以進(jìn)行切換和通信。LiteOS的任務(wù)管理模塊提供任務(wù)創(chuàng)建、刪除、延時(shí)、掛起和恢復(fù)、更改任務(wù)優(yōu)先級(jí)、鎖定任務(wù)調(diào)度和解鎖任務(wù)調(diào)度、根據(jù)任務(wù)控制塊查詢?nèi)蝿?wù) ID、根據(jù) ID 查詢?nèi)蝿?wù)控制塊信息等功能。
因?yàn)長(zhǎng)iteOS內(nèi)核是搶占式調(diào)度內(nèi)核,所以高優(yōu)先級(jí)的任務(wù)可以打斷低優(yōu)先級(jí)任務(wù),低優(yōu)先級(jí)任務(wù)必須在高優(yōu)先級(jí)任務(wù)阻塞或結(jié)束后才能得到調(diào)度,同優(yōu)先級(jí)任務(wù)會(huì)進(jìn)行時(shí)間片輪轉(zhuǎn)調(diào)度。優(yōu)先級(jí)表示任務(wù)執(zhí)行的優(yōu)先順序,決定了在發(fā)生任務(wù)切換時(shí)即將要執(zhí)行的任務(wù)。LiteOS中的任務(wù)一共有32個(gè)優(yōu)先級(jí) (0-31),最高優(yōu)先級(jí)為 0,最低優(yōu)先級(jí)為31。
任務(wù)控制TCB每一個(gè)任務(wù)都含有一個(gè)任務(wù)控制塊(TCB)。TCB 包含了任務(wù)上下文棧指針(stack pointer)、任務(wù)狀態(tài)(包括就緒、運(yùn)行、阻塞、退出4種狀態(tài))、任務(wù)棧大?。ㄈ蝿?wù)棧里保存著局部變量、寄存器、函數(shù)參數(shù)、函數(shù)返回地址等)、任務(wù)優(yōu)先級(jí)、任務(wù)ID、任務(wù)名等信息。TCB相當(dāng)于每個(gè)任務(wù)在內(nèi)核中的身份證,可以反映出每個(gè)任務(wù)運(yùn)行情況。
運(yùn)作機(jī)制在任務(wù)模塊初始化時(shí),系統(tǒng)會(huì)先申請(qǐng)TCB需要的內(nèi)存空間。如果任務(wù)初始化成功,則系統(tǒng)對(duì)TCB內(nèi)容進(jìn)行初始化。用戶創(chuàng)建任務(wù)時(shí),系統(tǒng)會(huì)將任務(wù)棧進(jìn)行初始化,預(yù)置上下文。此外,系統(tǒng)還會(huì)將“任務(wù)入口函數(shù)”地址放在相應(yīng)位置。這樣在任務(wù)第一次啟動(dòng)進(jìn)入運(yùn)行態(tài)時(shí),將會(huì)執(zhí)行“任務(wù)入口函數(shù)”。
02
LiteOS內(nèi)核的內(nèi)存管理

主要功能Huawei LiteOS的內(nèi)存管理模塊管理系統(tǒng)的內(nèi)存資源,主要包括內(nèi)存的初始化、分配及釋放,是操作系統(tǒng)的核心模塊之一。

在系統(tǒng)運(yùn)行過(guò)程中,內(nèi)存管理模塊通過(guò)對(duì)內(nèi)存的申請(qǐng)/釋放操作,來(lái)管理用戶和OS對(duì)內(nèi)存的使用,使內(nèi)存的利用率和使用效率達(dá)到最優(yōu),同時(shí)最大限度地解決系統(tǒng)的內(nèi)存碎片問(wèn)題。
Huawei LiteOS的內(nèi)存管理分為動(dòng)態(tài)內(nèi)存管理和靜態(tài)內(nèi)存管理。
動(dòng)態(tài)內(nèi)存管理在動(dòng)態(tài)內(nèi)存池中分配用戶指定大小的內(nèi)存塊。
o  優(yōu)點(diǎn):按需分配。
o  缺點(diǎn):內(nèi)存池中可能出現(xiàn)碎片。
靜態(tài)內(nèi)存管理在靜態(tài)內(nèi)存池中分配用戶初始化時(shí)預(yù)設(shè)(固定)大小的內(nèi)存塊,初始化后塊大小不可變更。
o  優(yōu)點(diǎn):分配和釋放效率高,靜態(tài)內(nèi)存池中無(wú)碎片。
o  缺點(diǎn):只能申請(qǐng)到初始化預(yù)設(shè)大小的內(nèi)存塊,不能按需申請(qǐng)。
03
LiteOS內(nèi)核的中斷管理

中斷的介紹中斷是指出現(xiàn)需要時(shí),CPU暫停執(zhí)行當(dāng)前程序,轉(zhuǎn)而執(zhí)行新程序的過(guò)程。即在程序運(yùn)行過(guò)程中,系統(tǒng)出現(xiàn)了一個(gè)必須由CPU立即處理的事務(wù)。此時(shí),CPU暫時(shí)中止當(dāng)前程序的執(zhí)行轉(zhuǎn)而處理這個(gè)事務(wù),這個(gè)過(guò)程就叫做中斷。
為什么需要中斷眾多周知,CPU的處理速度比外設(shè)的運(yùn)行速度快很多,外設(shè)可以在沒(méi)有CPU介入的情況下完成一定的工作,但某些情況下需要CPU為其做一定的工作。通過(guò)中斷機(jī)制,在外設(shè)不需要CPU介入時(shí),CPU可以執(zhí)行其它任務(wù),而當(dāng)外設(shè)需要CPU時(shí)通過(guò)產(chǎn)生中斷信號(hào)使CPU立即中斷當(dāng)前任務(wù)來(lái)響應(yīng)中斷請(qǐng)求。用戶通過(guò)中斷申請(qǐng),注冊(cè)中斷處理程序,可以指定CPU響應(yīng)中斷請(qǐng)求時(shí)所執(zhí)行的具體操作。這樣可以使CPU避免把大量時(shí)間耗費(fèi)在等待、查詢外設(shè)狀態(tài)的操作上,因此將大大提高系統(tǒng)實(shí)時(shí)性以及執(zhí)行效率。
相關(guān)的硬件與中斷相關(guān)的硬件可以劃分為三類:設(shè)備、中斷控制器、CPU本身。
  • 設(shè)備:發(fā)起中斷的源,當(dāng)設(shè)備需要請(qǐng)求CPU時(shí),產(chǎn)生一個(gè)中斷信號(hào),該信號(hào)連接至中斷控制器。
  • 中斷控制器:中斷控制器是 CPU 眾多外設(shè)中的一個(gè),它一方面接收其它外設(shè)中斷引腳的輸入,另一方面,它會(huì)發(fā)出中斷信號(hào)給CPU??梢酝ㄟ^(guò)對(duì)中斷控制器編程實(shí)現(xiàn)對(duì)中斷源的優(yōu)先級(jí)、觸發(fā)方式、打開和關(guān)閉源等設(shè)置操作。常用的中斷控制器有VIC(Vector Interrupt Controller)和GIC(General Interrupt Controller),在 ARM Cortex-M 系列中使用的中斷控制器是NVIC(Nested Vector Interrupt Controller)。
  • CPU:CPU會(huì)響應(yīng)中斷源的請(qǐng)求,中斷當(dāng)前正在執(zhí)行的任務(wù),轉(zhuǎn)而執(zhí)行中斷處理程序。

主要功能Huawei LiteOS支持:
·  中斷初始化
·  中斷創(chuàng)建
·  開/關(guān)中斷
·  恢復(fù)中斷
·  中斷使能
·  中斷屏蔽
04
LiteOS內(nèi)核的信號(hào)量

基本概念和功能信號(hào)量(Semaphore)是一種實(shí)現(xiàn)任務(wù)間通信的機(jī)制,可以用于任務(wù)之間同步或臨界資源的互斥訪問(wèn)。

信號(hào)量可以被任務(wù)獲取或者申請(qǐng),不同的信號(hào)量通過(guò)信號(hào)量索引號(hào)來(lái)唯一確定,每個(gè)信號(hào)量都有一個(gè)計(jì)數(shù)值和任務(wù)隊(duì)列。通常信號(hào)量的計(jì)數(shù)值表示有效的資源數(shù),即剩下的可被占用的互斥資源數(shù)。當(dāng)任務(wù)申請(qǐng)(Pend)信號(hào)量時(shí),如果申請(qǐng)成功,則信號(hào)量的計(jì)數(shù)值遞減,如申請(qǐng)失敗,則掛起在該信號(hào)量的等待任務(wù)隊(duì)列上,一旦有任務(wù)釋放該信號(hào)量,則等待任務(wù)隊(duì)列中的任務(wù)被喚醒開始執(zhí)行。
信號(hào)量運(yùn)作示意圖↓

使用場(chǎng)景信號(hào)量是一種非常靈活的同步方式,可以運(yùn)用在多種場(chǎng)合中,實(shí)現(xiàn)鎖、同步、資源計(jì)數(shù)等功能,也能方便的用于任務(wù)與任務(wù),中斷與任務(wù)的同步中。
· 任務(wù)間互斥
用作互斥時(shí),信號(hào)量創(chuàng)建后記數(shù)是滿的,在需要使用臨界資源時(shí),先申請(qǐng)信號(hào)量,使其變空,這樣其他任務(wù)需要使用臨界資源時(shí)就會(huì)因?yàn)闊o(wú)法申請(qǐng)到信號(hào)量而阻塞,從而保證了臨界資源的安全。
· 任務(wù)間同步
用作同步時(shí),信號(hào)量在創(chuàng)建后被置為空,任務(wù)1申請(qǐng)信號(hào)量而阻塞,任務(wù)2在某種條件發(fā)生后,釋放信號(hào)量,于是任務(wù)1得以進(jìn)入READY或RUNNING態(tài),從而達(dá)到了兩個(gè)任務(wù)間的同步。
· 資源計(jì)數(shù)
用作資源計(jì)數(shù)時(shí),信號(hào)量的作用是一個(gè)特殊的計(jì)數(shù)器,可以遞增或者遞減,但是值永遠(yuǎn)不能為負(fù)值,典型的應(yīng)用場(chǎng)景是生產(chǎn)者與消費(fèi)者的場(chǎng)景。
· 中斷與任務(wù)的同步
用作中斷與任務(wù)的同步時(shí),可以在中斷未觸發(fā)時(shí)將信號(hào)量的值置為0,從而堵塞中斷服務(wù)處理任務(wù),一旦中斷被觸發(fā),則喚醒堵塞的中斷服務(wù)處理任務(wù)進(jìn)行中斷處理。
05
LiteOS內(nèi)核的互斥鎖

基本概念和功能互斥鎖(mutex)又稱互斥型信號(hào)量,是一種特殊的二值信號(hào)量,用于實(shí)現(xiàn)對(duì)共享資源的獨(dú)占式處理?;コ怄i主要使用在多任務(wù)環(huán)境下,此時(shí)往往存在多個(gè)任務(wù)競(jìng)爭(zhēng)同一共享資源的應(yīng)用場(chǎng)景。另外,Huawei LiteOS通過(guò)優(yōu)先級(jí)繼承算法,解決了信號(hào)量存在的優(yōu)先級(jí)翻轉(zhuǎn)問(wèn)題。
運(yùn)作機(jī)制任意時(shí)刻互斥鎖只有兩種狀態(tài):開鎖或閉鎖。當(dāng)有任務(wù)持有時(shí),互斥鎖處于閉鎖狀態(tài),這個(gè)任務(wù)獲得該互斥鎖的所有權(quán)。當(dāng)該任務(wù)釋放它時(shí),該互斥鎖被開鎖,任務(wù)失去該互斥鎖的所有權(quán)。當(dāng)一個(gè)任務(wù)持有互斥鎖時(shí),其他任務(wù)將不能再對(duì)該互斥鎖進(jìn)行開鎖或持有,所以其他任務(wù)此時(shí)訪問(wèn)這個(gè)公共資源將會(huì)被阻塞,直到互斥鎖被持有該鎖的任務(wù)釋放后,其他任務(wù)才能重新訪問(wèn)該公共資源。
互斥鎖運(yùn)作示意圖↓
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉