當(dāng)前位置:首頁(yè) > 學(xué)習(xí)資源 > 講師博文 > 神經(jīng)網(wǎng)絡(luò)模型的壓縮與量化技術(shù)
神經(jīng)網(wǎng)絡(luò)模型的壓縮與量化技術(shù)
時(shí)間:2025-08-25 來(lái)源:華清遠(yuǎn)見
一、概述
嵌入式系統(tǒng)中的任務(wù)調(diào)度算法是實(shí)時(shí)操作系統(tǒng)(RTOS)的核心功能之一,負(fù)責(zé)決定何時(shí)執(zhí)行哪個(gè)任務(wù),以確保系統(tǒng)資源的高效利用和實(shí)時(shí)性需求的滿足。而現(xiàn)如今常用的實(shí)時(shí)調(diào)度算法有三種:?jiǎn)握{(diào)速率調(diào)度(RMS),最早截止時(shí)間優(yōu)先(EDF),最低松弛時(shí)間優(yōu)先(LLF)。這也是本篇文章要詳細(xì)講一講的東西,當(dāng)然這里提一嘴與其對(duì)應(yīng)的目前常用的非實(shí)時(shí)調(diào)度算法,有以下幾種:最低松弛時(shí)間優(yōu)先(LLF),短作業(yè)優(yōu)先(SJF),時(shí)間片輪轉(zhuǎn)(RR),優(yōu)先級(jí)調(diào)度。
當(dāng)然也要詳細(xì)講一講不同的調(diào)度算法的選擇,我們開發(fā)人員會(huì)因?yàn)橄到y(tǒng)的實(shí)時(shí)性需求、任務(wù)特性(如周期性和非周期性)、資源限制等因素,選擇合適的調(diào)度算法。
二、詳解
1. 單調(diào)速率調(diào)度(RMS)1)是什么

單調(diào)速率調(diào)度(RMS)是1973年Liu和Layland提出來(lái)的,它是一種經(jīng)典的靜態(tài)優(yōu)先級(jí)實(shí)時(shí)任務(wù)調(diào)度算法,通過(guò)將任務(wù)的優(yōu)先級(jí)與周期建立單調(diào)遞減關(guān)系,確保高優(yōu)先級(jí)任務(wù)能夠及時(shí)完成。就目前看來(lái)單調(diào)速率調(diào)度已經(jīng)成為在單處理器環(huán)境下最優(yōu)的靜態(tài)優(yōu)先級(jí)調(diào)度算法,目前,廣泛應(yīng)用于航空航天、工業(yè)控制、醫(yī)療設(shè)備等對(duì)實(shí)時(shí)性要求極高的領(lǐng)域。
2)模型
RMS調(diào)度算法基于嚴(yán)格的周期性任務(wù)模型,每個(gè)任務(wù)定義為三元組(Ti, Ci, Di),其中:
Ti:任務(wù)的周期,表示任務(wù)請(qǐng)求的間隔時(shí)間
Ci:任務(wù)的執(zhí)行時(shí)間,指處理器在無(wú)中斷情況下執(zhí)行該任務(wù)所需的時(shí)間
Di:任務(wù)的截止時(shí)間,通常等于周期Ti,即任務(wù)必須在下一個(gè)周期開始前完成
這些任務(wù)必須滿足以下基本約束條件:0 ≤ Ci ≤ Ti ≤ Di,確保任務(wù)執(zhí)行時(shí)間不超過(guò)周期,并且有明確的截止時(shí)間要求。
3)調(diào)度思想
RMS的核心思想是任務(wù)的優(yōu)先級(jí)與周期成反比,周期越短,優(yōu)先級(jí)越高。這種單調(diào)遞減的優(yōu)先級(jí)分配策略保證了系統(tǒng)中執(zhí)行頻率最高的任務(wù)能夠獲得最高的執(zhí)行權(quán)限,從而滿足其嚴(yán)格的實(shí)時(shí)性要求。
具體而言,調(diào)度器遵循以下原則:
1.當(dāng)高優(yōu)先級(jí)任務(wù)到達(dá)時(shí),可以搶占正在執(zhí)行的低優(yōu)先級(jí)任務(wù)
2.任務(wù)一旦開始執(zhí)行,必須連續(xù)執(zhí)行直到完成或被更高優(yōu)先級(jí)任務(wù)搶占
3.任務(wù)在周期起點(diǎn)被激活,周期性地重復(fù)執(zhí)行
4)分配機(jī)制
RMS采用靜態(tài)優(yōu)先級(jí)分配,即在系統(tǒng)啟動(dòng)或任務(wù)創(chuàng)建時(shí)確定優(yōu)先級(jí),之后不再改變。優(yōu)先級(jí)分配規(guī)則如下:
將所有任務(wù)按周期長(zhǎng)短排序:T1 < T2 < T3 < ... < Tn
為周期最短的任務(wù)T1分配最高優(yōu)先級(jí)
依次為周期較長(zhǎng)的任務(wù)分配較低優(yōu)先級(jí)
這種優(yōu)先級(jí)分配機(jī)制確保了在任何時(shí)刻,處理器總是執(zhí)行當(dāng)前可用的最高優(yōu)先級(jí)任務(wù),從而在資源受限的情況下最大化系統(tǒng)實(shí)時(shí)性。
5)調(diào)度過(guò)程
RMS調(diào)度過(guò)程可以分為以下幾個(gè)關(guān)鍵步驟:
任務(wù)激活:在每個(gè)周期的起點(diǎn),任務(wù)被激活并加入就緒隊(duì)列。
優(yōu)先級(jí)比較:調(diào)度器檢查就緒隊(duì)列中的所有任務(wù),選擇優(yōu)先級(jí)最高的任務(wù)執(zhí)行。
任務(wù)執(zhí)行:選定的高優(yōu)先級(jí)任務(wù)開始執(zhí)行,執(zhí)行時(shí)間固定。
搶占機(jī)制:如果有更高優(yōu)先級(jí)的任務(wù)到達(dá),可以搶占當(dāng)前正在執(zhí)行的任務(wù)。
任務(wù)完成:任務(wù)執(zhí)行完畢后,調(diào)度器繼續(xù)選擇下一個(gè)最高優(yōu)先級(jí)的任務(wù)執(zhí)行。
這種可搶占的靜態(tài)優(yōu)先級(jí)調(diào)度機(jī)制確保了高優(yōu)先級(jí)任務(wù)能夠及時(shí)獲得處理器資源,滿足其嚴(yán)格的實(shí)時(shí)性要求。
6)優(yōu)缺點(diǎn)
優(yōu)點(diǎn):
可預(yù)測(cè)性強(qiáng):靜態(tài)優(yōu)先級(jí)分配使得調(diào)度行為可預(yù)測(cè),便于系統(tǒng)設(shè)計(jì)和驗(yàn)證。
實(shí)現(xiàn)簡(jiǎn)單:無(wú)需動(dòng)態(tài)調(diào)整優(yōu)先級(jí),降低算法復(fù)雜度和運(yùn)行時(shí)開銷。
理論支持充分:通過(guò)Liu & Layland定理提供嚴(yán)格的可調(diào)度性分析方法。
確定性高:在滿足可調(diào)度性條件時(shí),能夠保證所有任務(wù)在截止時(shí)間內(nèi)完成。
抗干擾能力強(qiáng):高優(yōu)先級(jí)任務(wù)能夠及時(shí)響應(yīng)中斷,避免關(guān)鍵任務(wù)被延遲。
缺點(diǎn):
利用率上限低:當(dāng)任務(wù)數(shù)n→∞,利用率上限趨近于69.3%,導(dǎo)致處理器資源利用率受限。
饑餓問(wèn)題:低優(yōu)先級(jí)任務(wù)可能因頻繁被高優(yōu)先級(jí)任務(wù)搶占而長(zhǎng)時(shí)間無(wú)法執(zhí)行。
僅適用于周期性任務(wù):無(wú)法直接處理非周期性或動(dòng)態(tài)變化的任務(wù)。
對(duì)任務(wù)參數(shù)敏感:任務(wù)參數(shù)(周期、執(zhí)行時(shí)間)的微小變化可能導(dǎo)致整個(gè)任務(wù)集的可調(diào)度性分析失效。
缺乏靈活性:靜態(tài)優(yōu)先級(jí)在任務(wù)執(zhí)行過(guò)程中不可調(diào)整,難以適應(yīng)動(dòng)態(tài)變化的系統(tǒng)需求。
2.最早截止時(shí)間優(yōu)先(EDF)
1) 是什么

最早截止時(shí)間優(yōu)先調(diào)度算法(Earliest Deadline First, EDF)是一種基于動(dòng)態(tài)優(yōu)先級(jí)的實(shí)時(shí)任務(wù)調(diào)度策略,其核心思想是根據(jù)任務(wù)的截止時(shí)間進(jìn)行優(yōu)先級(jí)排序,確保截止時(shí)間最早的高優(yōu)先級(jí)任務(wù)能夠優(yōu)先獲得處理器資源。與傳統(tǒng)的靜態(tài)優(yōu)先級(jí)調(diào)度算法(如速率單調(diào)調(diào)度RMS)不同,EDF能夠靈活適應(yīng)任務(wù)截止時(shí)間的變化,為實(shí)時(shí)系統(tǒng)提供更高效的資源利用和更可靠的截止時(shí)間保證。本文將從算法原理、實(shí)現(xiàn)機(jī)制、優(yōu)缺點(diǎn)分析及實(shí)際應(yīng)用案例等方面,系統(tǒng)闡述EDF調(diào)度算法的完整技術(shù)框架。
2) 核心思想
最早截止時(shí)間優(yōu)先調(diào)度算法的核心思想是:在調(diào)度時(shí),優(yōu)先選擇截止時(shí)間最早的任務(wù)進(jìn)行執(zhí)行。這種動(dòng)態(tài)優(yōu)先級(jí)分配機(jī)制使得調(diào)度器能夠根據(jù)任務(wù)的緊迫程度實(shí)時(shí)調(diào)整執(zhí)行順序,特別適合處理截止時(shí)間變化或任務(wù)到達(dá)時(shí)間不固定的實(shí)時(shí)系統(tǒng)。
EDF算法的數(shù)學(xué)基礎(chǔ)是任務(wù)的松弛度(Slack)計(jì)算,即松弛度=截止時(shí)間-當(dāng)前時(shí)間-剩余執(zhí)行時(shí)間。算法總是選擇松弛度最小(即截止時(shí)間最近)的任務(wù)執(zhí)行,從而最大限度地減少任務(wù)錯(cuò)過(guò)截止時(shí)間的風(fēng)險(xiǎn)。
3) 任務(wù)模型
EDF算法適用于以下類型的任務(wù)模型:
周期性任務(wù):具有固定周期和執(zhí)行時(shí)間的任務(wù),如傳感器數(shù)據(jù)采集、控制系統(tǒng)等。
非周期性任務(wù):到達(dá)時(shí)間不確定、執(zhí)行時(shí)間可變的任務(wù),如事件觸發(fā)的報(bào)警處理。
混合任務(wù)集:同時(shí)包含周期性和非周期性任務(wù)的系統(tǒng),EDF能夠統(tǒng)一處理。
每個(gè)任務(wù)在EDF系統(tǒng)中通常被描述為四元組(Ti, Ai, Ci, Di),其中:
Ti:任務(wù)的到達(dá)時(shí)間或周期(對(duì)于周期性任務(wù))
Ai:任務(wù)的激活時(shí)間
Ci:任務(wù)的執(zhí)行時(shí)間
Di:任務(wù)的截止時(shí)間
對(duì)于周期性任務(wù),通常Di = Ai + Ti,即任務(wù)必須在下一個(gè)周期開始前完成。
4) 調(diào)度原則
EDF算法遵循以下調(diào)度原則:
動(dòng)態(tài)優(yōu)先級(jí)分配:任務(wù)的優(yōu)先級(jí)由其截止時(shí)間決定,截止時(shí)間越早,優(yōu)先級(jí)越高。
搶占式調(diào)度:當(dāng)新任務(wù)的截止時(shí)間早于當(dāng)前正在執(zhí)行任務(wù)的截止時(shí)間時(shí),可立即搶占處理器資源。
任務(wù)就緒隊(duì)列管理:系統(tǒng)維護(hù)一個(gè)就緒隊(duì)列,隊(duì)列按任務(wù)截止時(shí)間從早到晚排序。
時(shí)間敏感性:調(diào)度決策基于實(shí)時(shí)計(jì)算,確保系統(tǒng)能夠及時(shí)響應(yīng)任務(wù)截止時(shí)間的變化。
與靜態(tài)優(yōu)先級(jí)調(diào)度算法(如RMS)相比,EDF的最大優(yōu)勢(shì)在于其能夠適應(yīng)任務(wù)截止時(shí)間的動(dòng)態(tài)變化,而無(wú)需在任務(wù)創(chuàng)建時(shí)確定固定優(yōu)先級(jí)。
5) 實(shí)現(xiàn)的機(jī)制
① 就緒隊(duì)列管理
EDF算法的關(guān)鍵實(shí)現(xiàn)機(jī)制是高效的就緒隊(duì)列管理。就緒隊(duì)列按照任務(wù)截止時(shí)間的早晚進(jìn)行排序,確保調(diào)度器能夠快速選擇具有最早截止時(shí)間的任務(wù)。
就緒隊(duì)列通常采用以下數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn):
優(yōu)先隊(duì)列(堆結(jié)構(gòu)):使用最小堆(Min-Heap)存儲(chǔ)任務(wù),堆頂始終是截止時(shí)間最早的任務(wù)。
時(shí)間輪(Time-W輪):適用于具有固定周期的任務(wù),通過(guò)輪轉(zhuǎn)機(jī)制快速定位下一個(gè)到期任務(wù)。
鏈表結(jié)構(gòu):對(duì)于任務(wù)數(shù)量較少的系統(tǒng),可使用簡(jiǎn)單鏈表按截止時(shí)間排序。
就緒隊(duì)列的操作包括:
任務(wù)插入:當(dāng)新任務(wù)到達(dá)或周期性任務(wù)激活時(shí),將其插入隊(duì)列并按截止時(shí)間排序。
任務(wù)刪除:當(dāng)任務(wù)完成執(zhí)行或被阻塞時(shí),從隊(duì)列中移除。
隊(duì)列更新:在時(shí)鐘中斷或任務(wù)狀態(tài)變化時(shí),更新隊(duì)列中的任務(wù)排序。
② 搶占條件與上下文切換
在搶占式EDF實(shí)現(xiàn)中,調(diào)度器需要確定何時(shí)觸發(fā)搶占:
任務(wù)到達(dá)搶占:當(dāng)新任務(wù)到達(dá)時(shí),如果其截止時(shí)間早于當(dāng)前正在執(zhí)行任務(wù)的截止時(shí)間,則立即搶占。
時(shí)鐘中斷搶占:在固定時(shí)間間隔(如時(shí)鐘嘀嗒)觸發(fā)調(diào)度檢查,重新評(píng)估任務(wù)優(yōu)先級(jí)。
任務(wù)完成搶占:當(dāng)前任務(wù)完成后,調(diào)度器立即選擇隊(duì)列中下一個(gè)最早截止時(shí)間的任務(wù)執(zhí)行。
搶占過(guò)程中,系統(tǒng)需要執(zhí)行上下文切換操作,保存當(dāng)前任務(wù)的寄存器狀態(tài)(PCB)、程序計(jì)數(shù)器和棧指針等信息,并加載新任務(wù)的上下文。上下文切換的開銷是EDF算法的一個(gè)重要考量因素,尤其在高頻率搶占場(chǎng)景中。
③ 動(dòng)態(tài)優(yōu)先級(jí)調(diào)整
EDF算法的核心在于動(dòng)態(tài)調(diào)整任務(wù)優(yōu)先級(jí),這主要體現(xiàn)在以下幾個(gè)方面:
任務(wù)到達(dá)時(shí)的調(diào)整:新任務(wù)到達(dá)后,立即計(jì)算其截止時(shí)間并插入就緒隊(duì)列的適當(dāng)位置。
任務(wù)執(zhí)行過(guò)程中的調(diào)整:周期性任務(wù)在每個(gè)周期開始時(shí)生成新實(shí)例,賦予新的截止時(shí)間。
時(shí)間推進(jìn)引起的調(diào)整:隨著系統(tǒng)時(shí)間的推進(jìn),各任務(wù)的松弛度(截止時(shí)間-當(dāng)前時(shí)間)不斷變化,需要定期重新計(jì)算優(yōu)先級(jí)。
動(dòng)態(tài)優(yōu)先級(jí)調(diào)整的實(shí)現(xiàn)方式包括:
顯式排序:在每個(gè)調(diào)度決策點(diǎn)重新排序整個(gè)隊(duì)列。
增量更新:僅在任務(wù)狀態(tài)變化時(shí)更新隊(duì)列中的相關(guān)位置。
預(yù)計(jì)算截止時(shí)間:對(duì)于周期性任務(wù),可預(yù)先計(jì)算未來(lái)多個(gè)周期的截止時(shí)間,減少實(shí)時(shí)計(jì)算開銷。
④ 非搶占式EDF實(shí)現(xiàn)
在非搶占式EDF實(shí)現(xiàn)中,任務(wù)一旦獲得處理器資源,必須執(zhí)行完畢或主動(dòng)放棄才能釋放資源。這種實(shí)現(xiàn)方式適用于以下場(chǎng)景:
低搶占開銷環(huán)境:如資源受限的嵌入式系統(tǒng),減少上下文切換的開銷。
非周期性任務(wù)調(diào)度:如醫(yī)療設(shè)備中的緊急報(bào)警處理,需要確保任務(wù)執(zhí)行完整性。
硬件支持不足:當(dāng)處理器不支持快速搶占時(shí),采用非搶占式實(shí)現(xiàn)。
非搶占式EDF的調(diào)度過(guò)程:
1.當(dāng)前任務(wù)執(zhí)行完畢或主動(dòng)釋放處理器。
2.調(diào)度器檢查就緒隊(duì)列,選擇截止時(shí)間最早的任務(wù)執(zhí)行。
3.任務(wù)開始執(zhí)行,直到完成或主動(dòng)阻塞。
非搶占式EDF的缺點(diǎn)是可能導(dǎo)致長(zhǎng)任務(wù)阻塞短截止時(shí)間任務(wù),從而增加任務(wù)錯(cuò)過(guò)截止時(shí)間的風(fēng)險(xiǎn)。
6) 優(yōu)缺點(diǎn)
優(yōu)點(diǎn):
高資源利用率:理論上可以達(dá)到100%的處理器利用率,特別適合資源受限的嵌入式系統(tǒng)。
靈活性:能夠處理周期性和非周期性任務(wù)的混合調(diào)度場(chǎng)景。
動(dòng)態(tài)適應(yīng)性:根據(jù)任務(wù)截止時(shí)間動(dòng)態(tài)調(diào)整優(yōu)先級(jí),適應(yīng)任務(wù)到達(dá)時(shí)間的變化。
最優(yōu)調(diào)度保證:在單處理器環(huán)境下,EDF被證明是最優(yōu)的動(dòng)態(tài)調(diào)度算法。
缺點(diǎn):
調(diào)度開銷大:動(dòng)態(tài)優(yōu)先級(jí)計(jì)算和頻繁的上下文切換增加了系統(tǒng)開銷。
過(guò)載風(fēng)險(xiǎn):當(dāng)系統(tǒng)總利用率超過(guò)1時(shí),EDF無(wú)法保證所有任務(wù)都能在截止時(shí)間內(nèi)完成。
實(shí)現(xiàn)復(fù)雜度高:需要維護(hù)復(fù)雜的就緒隊(duì)列結(jié)構(gòu),并實(shí)時(shí)計(jì)算任務(wù)截止時(shí)間。
確定性不足:動(dòng)態(tài)調(diào)度可能導(dǎo)致系統(tǒng)行為難以預(yù)測(cè),增加驗(yàn)證難度。
1. 最低松弛時(shí)間優(yōu)先(LLF)
1) 是什么
最低松弛度優(yōu)先調(diào)度算法(Least Slack Time First,簡(jiǎn)稱LSTF,也稱為L(zhǎng)owest Laxity First,LLF)是一種在實(shí)時(shí)系統(tǒng)中廣泛應(yīng)用的動(dòng)態(tài)優(yōu)先級(jí)調(diào)度算法,通過(guò)精確計(jì)算任務(wù)的松弛度來(lái)確定執(zhí)行順序,確保系統(tǒng)能夠高效處理周期性實(shí)時(shí)任務(wù)。本文將全面解析LSTF算法的核心原理、實(shí)現(xiàn)機(jī)制、特點(diǎn)優(yōu)勢(shì)及實(shí)際應(yīng)用場(chǎng)景,為理解這一算法提供系統(tǒng)性認(rèn)知。
2) 松弛度是什么
松弛度(Slack Time)是LSTF算法的核心指標(biāo),表示任務(wù)從當(dāng)前時(shí)間起,到必須完成之前所剩余的可用時(shí)間。松弛度越小,任務(wù)越緊急,優(yōu)先級(jí)越高。
3) 未執(zhí)行任務(wù)的松弛度怎么算
對(duì)于尚未開始執(zhí)行的新任務(wù),松弛度計(jì)算公式為:
Slack Time = Deadline - Current Time - Service Time
其中:
Deadline:任務(wù)的截止時(shí)間
Current Time:當(dāng)前系統(tǒng)時(shí)間
Service Time:任務(wù)的總執(zhí)行時(shí)間
示例:若有一個(gè)任務(wù)A,周期為20ms,執(zhí)行時(shí)間為10ms,截止時(shí)間為30ms。當(dāng)系統(tǒng)時(shí)間在10ms時(shí),該任務(wù)的松弛度為:
Slack(A) = 30ms - 10ms - 10ms = 10ms
4) 已部分執(zhí)行任務(wù)的松弛度計(jì)算
對(duì)于已經(jīng)開始執(zhí)行但尚未完成的任務(wù),松弛度計(jì)算公式為:
Slack Time = Deadline - Current Time - Remaining Execution Time
其中:
Remaining Execution Time = Service Time - 已執(zhí)行時(shí)間
示例:若任務(wù)B執(zhí)行時(shí)間為25ms,已運(yùn)行5ms,截止時(shí)間為50ms。當(dāng)系統(tǒng)時(shí)間在15ms時(shí),該任務(wù)的松弛度為:
Slack(B) = 50ms - 15ms - (25ms - 5ms) = 25ms - 20ms = 5ms
5) 調(diào)度規(guī)則
LSTF算法的核心調(diào)度規(guī)則是:始終選擇當(dāng)前松弛度最小的任務(wù)作為下一個(gè)執(zhí)行的任務(wù)。這種動(dòng)態(tài)優(yōu)先級(jí)分配機(jī)制確保了系統(tǒng)能夠根據(jù)任務(wù)的緊急程度實(shí)時(shí)調(diào)整執(zhí)行順序。
LSTF算法的調(diào)度過(guò)程可以分為以下幾個(gè)步驟:
任務(wù)到達(dá):周期性任務(wù)在每個(gè)周期的開始時(shí)間生成新實(shí)例
松弛度計(jì)算:計(jì)算所有就緒任務(wù)的松弛度
優(yōu)先級(jí)排序:根據(jù)松弛度對(duì)任務(wù)進(jìn)行排序,松弛度最小的任務(wù)優(yōu)先級(jí)最高
任務(wù)選擇:選擇優(yōu)先級(jí)最高的任務(wù)(即松弛度最小的任務(wù))執(zhí)行
執(zhí)行監(jiān)控:持續(xù)監(jiān)控當(dāng)前執(zhí)行任務(wù)和就緒隊(duì)列中的任務(wù)
任務(wù)切換:當(dāng)新任務(wù)到達(dá)或當(dāng)前任務(wù)的松弛度變化時(shí),立即切換到松弛度最小的任務(wù)
任務(wù)完成:任務(wù)完成后,更新系統(tǒng)狀態(tài),準(zhǔn)備下一輪調(diào)度
6) 調(diào)度機(jī)制
LSTF算法通常采用可搶占式調(diào)度,這意味著:
1.當(dāng)一個(gè)任務(wù)的松弛度減為0時(shí),它必須立即搶占CPU,以保證按時(shí)完成
2.當(dāng)有更高優(yōu)先級(jí)(即更低松弛度)的任務(wù)到達(dá)時(shí),當(dāng)前任務(wù)會(huì)被暫停,讓出CPU
3.任務(wù)切換時(shí),系統(tǒng)需要保存當(dāng)前任務(wù)的執(zhí)行狀態(tài),以便后續(xù)恢復(fù)
4.這種搶占機(jī)制確保了系統(tǒng)能夠及時(shí)響應(yīng)緊急任務(wù),但也會(huì)帶來(lái)一定的調(diào)度開銷。
若碰到相同松弛度時(shí)的處理辦法:
當(dāng)多個(gè)任務(wù)具有相同的松弛度且為最小時(shí),LSTF算法采用以下次級(jí)規(guī)則進(jìn)行調(diào)度:
最近最久未調(diào)度(LRU)原則:
優(yōu)先調(diào)度最近一次被調(diào)度時(shí)間最久的任務(wù)
任務(wù)到達(dá)順序:按照任務(wù)到達(dá)的先后順序進(jìn)行調(diào)度
優(yōu)先級(jí)編號(hào):為每個(gè)任務(wù)預(yù)設(shè)優(yōu)先級(jí)編號(hào),作為最終判定依據(jù)
法核心特點(diǎn)(優(yōu)點(diǎn))
動(dòng)態(tài)優(yōu)先級(jí):任務(wù)優(yōu)先級(jí)隨松弛度實(shí)時(shí)變化,而非固定不變
周期性任務(wù)優(yōu)化:直接利用任務(wù)周期性和截止期限信息,平衡任務(wù)間的調(diào)度
可搶占式調(diào)度:允許任務(wù)被搶占,確保緊急任務(wù)優(yōu)先執(zhí)行
資源高效利用:通過(guò)動(dòng)態(tài)調(diào)整任務(wù)執(zhí)行順序,減少CPU空閑時(shí)間
最小響應(yīng)時(shí)間:優(yōu)先執(zhí)行剩余處理時(shí)間最短、截止時(shí)間最近的任務(wù),有效縮短任務(wù)響應(yīng)時(shí)間
預(yù)防系統(tǒng)過(guò)載:通過(guò)優(yōu)先調(diào)度松弛度小的任務(wù),有助于在系統(tǒng)過(guò)載時(shí)優(yōu)先保證關(guān)鍵任務(wù)的截止期限
負(fù)載均衡:能夠在各個(gè)任務(wù)之間實(shí)現(xiàn)相對(duì)均衡的負(fù)載分配,提高系統(tǒng)整體性能
8) 算法的局限(缺點(diǎn))
計(jì)算復(fù)雜度高:需頻繁計(jì)算所有就緒任務(wù)的松弛度,對(duì)系統(tǒng)計(jì)算能力有一定要求
調(diào)度開銷大:頻繁的任務(wù)切換可能導(dǎo)致調(diào)度開銷增加,特別是在任務(wù)粒度較細(xì)的場(chǎng)景
參數(shù)敏感:算法效果高度依賴任務(wù)參數(shù)的準(zhǔn)確性,包括周期、執(zhí)行時(shí)間和截止期限
不適用于非周期任務(wù):主要針對(duì)周期性任務(wù)設(shè)計(jì),對(duì)非周期任務(wù)的處理不如EDF算法靈活
總結(jié)
綜上通過(guò)合理選擇調(diào)度算法并結(jié)合優(yōu)化策略,嵌入式系統(tǒng)可在資源受限條件下實(shí)現(xiàn)高實(shí)時(shí)性與可靠性。實(shí)際應(yīng)用中需根據(jù)任務(wù)特性(周期性、截止時(shí)間、優(yōu)先級(jí))綜合評(píng)估,必要時(shí)可采用混合調(diào)度方案。
感謝大家看我絮絮叨叨,希望可以對(duì)你有所幫助。
課程分享:華清遠(yuǎn)見聯(lián)合NXP推出i.MX8M Plus開發(fā)與實(shí)踐
課程分享:鴻蒙HarmonyOS系統(tǒng)及物聯(lián)網(wǎng)開發(fā)實(shí)戰(zhàn)課程(
課程分享:HaaS EDU K1開發(fā)教程(附課程視頻及源碼下
新版C語(yǔ)言編程之控制語(yǔ)句視頻教程重磅贈(zèng)送(嵌入式入
價(jià)值2000元的嵌入式精裝教程大禮包免費(fèi)送!(搞懂嵌入
價(jià)值1000元的最新ARM系列視頻完整版教程新鮮出爐(免
【最新】ARM課程課堂實(shí)錄精華版視頻免費(fèi)領(lǐng)�。▋�(nèi)含源
什么是人工智能神經(jīng)網(wǎng)絡(luò)
神經(jīng)網(wǎng)絡(luò)模型的壓縮與量化技術(shù)
嵌入式設(shè)備的外設(shè)驅(qū)動(dòng)優(yōu)化
嵌入式系統(tǒng)中定時(shí)器的應(yīng)用實(shí)例
強(qiáng)化學(xué)習(xí)中的獎(jiǎng)勵(lì)設(shè)計(jì)技巧
嵌入式設(shè)備低功耗模式切換技巧詳解
神經(jīng)網(wǎng)絡(luò)的并行計(jì)算與加速技術(shù)
stm32部署神經(jīng)網(wǎng)絡(luò)
嵌入式系統(tǒng)網(wǎng)絡(luò)安全防護(hù)要點(diǎn)
嵌入式系統(tǒng)的電源管理新策略
