神經網絡模型(xing)的壓縮與量(liang)化技術
時間:2025-08-25 來源:華清遠見
一、概述
嵌入式系統中的(de)任務調度(du)算(suan)(suan)法是實(shi)時(shi)(shi)(shi)(shi)操作系統(RTOS)的(de)核心功(gong)能之一,負(fu)責決定(ding)何時(shi)(shi)(shi)(shi)執行哪(na)個任務,以確(que)保系統資源的(de)高效利(li)用(yong)和實(shi)時(shi)(shi)(shi)(shi)性(xing)需求(qiu)的(de)滿足。而現如今常用(yong)的(de)實(shi)時(shi)(shi)(shi)(shi)調度(du)算(suan)(suan)法有三種:單調速率調度(du)(RMS),最(zui)(zui)早截(jie)止時(shi)(shi)(shi)(shi)間優(you)(you)(you)先(xian)(EDF),最(zui)(zui)低(di)松弛時(shi)(shi)(shi)(shi)間優(you)(you)(you)先(xian)(LLF)。這(zhe)也是本(ben)篇文章(zhang)要詳(xiang)細講一講的(de)東西(xi),當然這(zhe)里提一嘴與其對應(ying)的(de)目前常用(yong)的(de)非實(shi)時(shi)(shi)(shi)(shi)調度(du)算(suan)(suan)法,有以下幾種:最(zui)(zui)低(di)松弛時(shi)(shi)(shi)(shi)間優(you)(you)(you)先(xian)(LLF),短作業優(you)(you)(you)先(xian)(SJF),時(shi)(shi)(shi)(shi)間片輪轉(RR),優(you)(you)(you)先(xian)級調度(du)。
當然也要詳細(xi)講一講不同的調度(du)(du)算法的選擇(ze)(ze),我們開發人員會(hui)因為系統的實時性需求(qiu)、任務特性(如周期(qi)性和非周期(qi)性)、資源限制等因素(su),選擇(ze)(ze)合適的調度(du)(du)算法。
二、詳解
1. 單調速率調度(RMS)1)是什么

單調(diao)速率(lv)調(diao)度(du)(RMS)是1973年Liu和Layland提出來(lai)的(de),它是一種經典的(de)靜(jing)態優(you)(you)先級(ji)(ji)實時任務(wu)(wu)調(diao)度(du)算法,通(tong)過將任務(wu)(wu)的(de)優(you)(you)先級(ji)(ji)與周(zhou)期建立(li)單調(diao)遞減關系,確(que)保高優(you)(you)先級(ji)(ji)任務(wu)(wu)能夠及時完成(cheng)。就目前看來(lai)單調(diao)速率(lv)調(diao)度(du)已經成(cheng)為(wei)在單處理器環境下最優(you)(you)的(de)靜(jing)態優(you)(you)先級(ji)(ji)調(diao)度(du)算法,目前,廣泛應用于航(hang)空航(hang)天、工業控制、醫療(liao)設備等對實時性要求極(ji)高的(de)領域。
2)模型
RMS調度算法基于(yu)嚴格的周(zhou)期性任務模(mo)型,每個任務定(ding)義為三(san)元(yuan)組(Ti, Ci, Di),其中:
Ti:任務的(de)周(zhou)期,表示任務請求的(de)間隔(ge)時間
Ci:任(ren)務的執行時(shi)間,指處理器(qi)在無中斷情況下執行該任(ren)務所(suo)需的時(shi)間
Di:任務的截止時間,通(tong)常等于周期Ti,即任務必須(xu)在(zai)下一個(ge)周期開始前(qian)完成
這些任(ren)務必須滿足(zu)以下基本約(yue)束條件(jian):0 ≤ Ci ≤ Ti ≤ Di,確保任(ren)務執行時間不超過周期,并且有(you)明確的截止時間要求。
3)調度思想
RMS的(de)核心思想是任(ren)務的(de)優(you)先級與周(zhou)期成反比,周(zhou)期越(yue)短,優(you)先級越(yue)高(gao)。這種單(dan)調遞減的(de)優(you)先級分(fen)配(pei)策略保證(zheng)了系統(tong)中執行頻率最高(gao)的(de)任(ren)務能夠獲得最高(gao)的(de)執行權限,從而滿足其嚴格的(de)實時性(xing)要求。
具體而言(yan),調度器遵循(xun)以(yi)下原則:
1.當高優先級任(ren)務(wu)到達時(shi),可以搶(qiang)占正(zheng)在(zai)執行的低優先級任(ren)務(wu)
2.任務一旦開始執行,必須連續執行直到完成或被更高優先級任務搶占(zhan)
3.任務在周期(qi)(qi)起點(dian)被激活,周期(qi)(qi)性地重復執行(xing)
4)分配機制
RMS采(cai)用靜(jing)態優(you)先級(ji)分配(pei),即在系統啟動或(huo)任(ren)務創(chuang)建時確定優(you)先級(ji),之(zhi)后不再改變。優(you)先級(ji)分配(pei)規則如下:
將所有(you)任務按周期長短(duan)排序:T1 < T2 < T3 < ... < Tn
為周期(qi)最短(duan)的任務T1分配最高優(you)先級
依次為周期較長的任務(wu)分配較低優先級
這種優(you)先級分配機制確保(bao)了在任(ren)何時刻,處理器總是執行當前可用的(de)最(zui)高優(you)先級任(ren)務,從而在資(zi)源受限的(de)情況下最(zui)大化系統實時性。
5)調度過程
RMS調度過程可(ke)以(yi)分為以(yi)下幾個關鍵步驟(zou):
任務(wu)激活:在(zai)每個周期(qi)的起點,任務(wu)被(bei)激活并加入就緒隊列。
優先(xian)級(ji)比較:調度器(qi)檢查(cha)就(jiu)緒隊列中(zhong)的(de)所有任(ren)(ren)務,選擇優先(xian)級(ji)最高的(de)任(ren)(ren)務執行。
任務(wu)執行(xing):選定的高優先級(ji)任務(wu)開始執行(xing),執行(xing)時間固定。
搶占機(ji)制:如果有更高(gao)優先級的(de)任務(wu)(wu)到達,可以搶占當前正在執(zhi)行(xing)的(de)任務(wu)(wu)。
任務(wu)完成(cheng):任務(wu)執(zhi)行完畢后,調度器(qi)繼(ji)續選(xuan)擇下一(yi)個(ge)最高優先(xian)級的任務(wu)執(zhi)行。
這(zhe)種可搶(qiang)占(zhan)的靜態優(you)先(xian)級(ji)調度(du)機制確保了高(gao)優(you)先(xian)級(ji)任務能(neng)夠及時(shi)獲得(de)處理器資源,滿足其(qi)嚴格的實時(shi)性(xing)要(yao)求。
6)優缺點
優點:
可(ke)預測性強:靜態優先(xian)級分配(pei)使得調(diao)度行為可(ke)預測,便于系統設計(ji)和驗證。
實現簡單:無需動態調整優先級,降低算法復(fu)雜(za)度(du)和運(yun)行時開(kai)銷。
理(li)論支持充(chong)分:通(tong)過Liu & Layland定理(li)提供(gong)嚴格的可(ke)調度性分析(xi)方法。
確定性高:在滿足可調度性條件時(shi)(shi),能夠保證所有任務在截止時(shi)(shi)間(jian)內完成。
抗(kang)干擾能力(li)強:高優先級任務能夠及時(shi)響應中斷,避免(mian)關鍵任務被延遲。
缺點:
利用(yong)率上限(xian)低:當(dang)任務(wu)數n→∞,利用(yong)率上限(xian)趨近于69.3%,導致處理(li)器資源(yuan)利用(yong)率受限(xian)。
饑餓問題:低優(you)先級任(ren)務可能(neng)因頻繁被高(gao)優(you)先級任(ren)務搶占而長時間無法(fa)執行。
僅適用于(yu)周(zhou)期性(xing)任(ren)務(wu)(wu):無法直(zhi)接處理非周(zhou)期性(xing)或動(dong)態變化的任(ren)務(wu)(wu)。
對(dui)任務(wu)參(can)數敏感:任務(wu)參(can)數(周期、執行時間)的(de)微小變化可能導致整個任務(wu)集的(de)可調(diao)度性分析失效。
缺乏靈活(huo)性:靜態優先級在任務執行過程中不可(ke)調整,難以適應動態變化的系統需求(qiu)。
2.最早(zao)截止時間(jian)優先(EDF)
1) 是什么

最早截(jie)止(zhi)時間(jian)優先(xian)調(diao)(diao)度算法(fa)(Earliest Deadline First, EDF)是一種基于(yu)動態優先(xian)級(ji)的(de)(de)實時任務調(diao)(diao)度策略,其核心思想是根據(ju)任務的(de)(de)截(jie)止(zhi)時間(jian)進行(xing)優先(xian)級(ji)排(pai)序(xu),確保截(jie)止(zhi)時間(jian)最早的(de)(de)高優先(xian)級(ji)任務能(neng)夠優先(xian)獲得處理(li)器資(zi)(zi)源。與傳統(tong)的(de)(de)靜態優先(xian)級(ji)調(diao)(diao)度算法(fa)(如速率單(dan)調(diao)(diao)調(diao)(diao)度RMS)不同,EDF能(neng)夠靈活適應任務截(jie)止(zhi)時間(jian)的(de)(de)變(bian)化,為實時系統(tong)提供更(geng)高效的(de)(de)資(zi)(zi)源利用和(he)更(geng)可靠的(de)(de)截(jie)止(zhi)時間(jian)保證。本(ben)文將從(cong)算法(fa)原(yuan)理(li)、實現機(ji)制、優缺點(dian)分析(xi)及實際應用案例等方面,系統(tong)闡述EDF調(diao)(diao)度算法(fa)的(de)(de)完整技術(shu)框架。
2) 核心思想
最早截止時(shi)間(jian)優先調(diao)(diao)度算法(fa)的核心思想是:在(zai)調(diao)(diao)度時(shi),優先選擇截止時(shi)間(jian)最早的任(ren)務進行(xing)執行(xing)。這種動(dong)態優先級分配(pei)機制(zhi)使(shi)得調(diao)(diao)度器能夠根據任(ren)務的緊迫程(cheng)度實時(shi)調(diao)(diao)整(zheng)執行(xing)順(shun)序,特別適合處理截止時(shi)間(jian)變化或(huo)任(ren)務到達時(shi)間(jian)不固(gu)定的實時(shi)系統。
EDF算法的(de)(de)數(shu)學基礎是任(ren)(ren)務(wu)的(de)(de)松弛度(Slack)計算,即松弛度=截(jie)止(zhi)時(shi)(shi)間(jian)-當前(qian)時(shi)(shi)間(jian)-剩(sheng)余執(zhi)行時(shi)(shi)間(jian)。算法總是選擇松弛度最(zui)小(即截(jie)止(zhi)時(shi)(shi)間(jian)最(zui)近(jin))的(de)(de)任(ren)(ren)務(wu)執(zhi)行,從而最(zui)大(da)限度地減(jian)少(shao)任(ren)(ren)務(wu)錯過截(jie)止(zhi)時(shi)(shi)間(jian)的(de)(de)風險。
3) 任務模型(xing)
EDF算法適用于以下類(lei)型(xing)的(de)任務模型(xing):
周(zhou)期(qi)性任務(wu):具有固定周(zhou)期(qi)和執(zhi)行時間的(de)任務(wu),如傳(chuan)感器數據采集、控制系統等。
非周期性任(ren)(ren)務:到達時間不確定(ding)、執行(xing)時間可變的任(ren)(ren)務,如事件觸發的報警處理(li)。
混合任(ren)務集:同時包含周(zhou)期性(xing)和非周(zhou)期性(xing)任(ren)務的系統(tong),EDF能夠統(tong)一處理。
每個任務在EDF系統中通(tong)常被描(miao)述為(wei)四元組(Ti, Ai, Ci, Di),其中:
Ti:任務的到達時(shi)間或周期(對于周期性任務)
Ai:任務(wu)的激活時間
Ci:任務的(de)執行時(shi)間
Di:任務的截(jie)止(zhi)時間
對于周期(qi)性任務,通常Di = Ai + Ti,即任務必須在下一個周期(qi)開始(shi)前完成。
4) 調(diao)度原則(ze)
EDF算法遵循以下調(diao)度原則(ze):
動態(tai)優(you)(you)先級(ji)(ji)分配:任務的優(you)(you)先級(ji)(ji)由(you)其截止(zhi)時(shi)(shi)間決定,截止(zhi)時(shi)(shi)間越(yue)早,優(you)(you)先級(ji)(ji)越(yue)高。
搶(qiang)占式調度(du):當新(xin)任(ren)務的截(jie)止時(shi)間早(zao)于(yu)當前正在執行任(ren)務的截(jie)止時(shi)間時(shi),可立(li)即搶(qiang)占處理器資源。
任務就(jiu)(jiu)緒隊(dui)列管理:系統維護一個就(jiu)(jiu)緒隊(dui)列,隊(dui)列按任務截止時間從早(zao)到晚排序。
時間(jian)敏感性:調度決策基(ji)于實時計算,確保系統能夠(gou)及(ji)時響(xiang)應任務截(jie)止時間(jian)的(de)變化。
與靜態優(you)先級調度算法(如RMS)相比(bi),EDF的最大優(you)勢在(zai)(zai)于其(qi)能夠適應任(ren)務截止時間的動態變化,而無需(xu)在(zai)(zai)任(ren)務創建時確定固定優(you)先級。
5) 實現的(de)機制
① 就(jiu)緒(xu)隊列管理
EDF算法的(de)關鍵(jian)實(shi)現(xian)機制是(shi)高效的(de)就緒隊列管(guan)理。就緒隊列按(an)照任務截(jie)止時間的(de)早晚進行排序,確保調度器能夠快速選擇具有最早截(jie)止時間的(de)任務。
就緒隊列(lie)通常(chang)采用以下數據(ju)結構實現:
優先隊(dui)列(堆結構):使用最小(xiao)堆(Min-Heap)存儲(chu)任務(wu),堆頂始終是(shi)截止(zhi)時(shi)間最早(zao)的任務(wu)。
時(shi)間(jian)輪(lun)(lun)(Time-W輪(lun)(lun)):適用于具有固定(ding)周期(qi)的任務(wu),通過(guo)輪(lun)(lun)轉(zhuan)機(ji)制快速定(ding)位(wei)下一個(ge)到期(qi)任務(wu)。
鏈(lian)表結構(gou):對于任務數量較少(shao)的系統(tong),可使用簡單鏈(lian)表按截止時間(jian)排序。
就(jiu)緒隊列的操作包括:
任(ren)務(wu)插入:當新(xin)任(ren)務(wu)到達(da)或(huo)周期性任(ren)務(wu)激(ji)活時(shi),將其(qi)插入隊(dui)列并按截(jie)止時(shi)間(jian)排序。
任務刪(shan)除:當任務完成執行或被阻塞(sai)時,從隊列中移除。
隊(dui)(dui)列(lie)更新(xin):在時(shi)鐘中斷或任(ren)務(wu)狀態變化時(shi),更新(xin)隊(dui)(dui)列(lie)中的任(ren)務(wu)排序。
② 搶占條(tiao)件與上下文切換(huan)
在搶占式EDF實現中,調度器需要確定何時觸發(fa)搶占:
任務到達搶(qiang)占:當新任務到達時(shi),如果其截(jie)止時(shi)間(jian)早于(yu)當前正(zheng)在(zai)執行任務的(de)截(jie)止時(shi)間(jian),則立(li)即搶(qiang)占。
時鐘(zhong)中斷(duan)搶占:在固定時間間隔(如時鐘(zhong)嘀嗒)觸發調度檢查,重新評(ping)估任(ren)務優先(xian)級。
任務完成(cheng)(cheng)搶占:當前任務完成(cheng)(cheng)后,調(diao)度器立即(ji)選擇隊列(lie)中下一個最早(zao)截止時間的任務執(zhi)行(xing)。
搶占(zhan)過(guo)程(cheng)(cheng)中,系(xi)統需要執行上下(xia)文切換操(cao)作,保存當前任(ren)務的寄存器狀態(PCB)、程(cheng)(cheng)序(xu)計數(shu)器和(he)棧指針等信息,并(bing)加載新任(ren)務的上下(xia)文。上下(xia)文切換的開(kai)銷是(shi)EDF算法的一個(ge)重要考量(liang)因素(su),尤(you)其在高頻率搶占(zhan)場(chang)景(jing)中。
③ 動態優先級(ji)調整
EDF算法的核心(xin)在(zai)于(yu)動態調(diao)整(zheng)任務優先級(ji),這(zhe)主要體現(xian)在(zai)以下(xia)幾個方面(mian):
任務(wu)到達(da)時的調整:新任務(wu)到達(da)后(hou),立即計算其截止時間并插入就緒隊列的適當位置。
任務(wu)執行過程中的(de)調整:周(zhou)(zhou)期性任務(wu)在每個(ge)周(zhou)(zhou)期開始時生成新實例,賦予(yu)新的(de)截止(zhi)時間。
時(shi)間(jian)(jian)推(tui)進引起的(de)調整:隨著(zhu)系(xi)統時(shi)間(jian)(jian)的(de)推(tui)進,各任務的(de)松弛度(截止時(shi)間(jian)(jian)-當前時(shi)間(jian)(jian))不斷變化,需要定(ding)期重新計算優先級。
動態優先級調整(zheng)的實現(xian)方式包括:
顯式排(pai)序:在每個調度決策(ce)點重新排(pai)序整(zheng)個隊(dui)列。
增量更(geng)(geng)新:僅在任務(wu)狀(zhuang)態變化時更(geng)(geng)新隊列中的相(xiang)關位置(zhi)。
預(yu)計算(suan)截止時(shi)間:對于周期性任務,可預(yu)先計算(suan)未(wei)來多個周期的截止時(shi)間,減少實時(shi)計算(suan)開銷。
④ 非(fei)搶(qiang)占式EDF實現(xian)
在非搶占式EDF實現中,任務一(yi)旦(dan)獲得處理器資源(yuan)(yuan),必須執行完畢或主動(dong)放棄才能釋放資源(yuan)(yuan)。這種實現方式適用(yong)于(yu)以下場景:
低搶占開銷環(huan)境:如資源受限的(de)(de)嵌(qian)入式系統,減少上下文切(qie)換的(de)(de)開銷。
非周期(qi)性任務調度(du):如醫療設備中的緊急報警處理,需要(yao)確(que)保任務執(zhi)行完整性。
硬件(jian)支持不足:當處理器不支持快速搶占時,采用非搶占式實現。
非搶(qiang)占式EDF的調度過程:
1.當前任務執行完畢或主動釋放處理(li)器。
2.調度器檢查就緒(xu)隊列,選擇(ze)截止時(shi)間最早的任(ren)務執行。
3.任(ren)務開始執(zhi)行,直到完成或主動阻(zu)塞。
非(fei)搶占式EDF的缺(que)點是可能導致長任務阻(zu)塞短截止時間(jian)任務,從(cong)而增加任務錯過(guo)截止時間(jian)的風險。
6) 優缺點
優點:
高資(zi)源利用(yong)率:理論上可以達到100%的處(chu)理器利用(yong)率,特(te)別適合資(zi)源受限(xian)的嵌入式系統。
靈活性(xing):能夠處理周期(qi)(qi)性(xing)和非周期(qi)(qi)性(xing)任(ren)務的(de)混合調度場景。
動態適應(ying)性:根據任務截止時間動態調整優先級,適應(ying)任務到達時間的變(bian)化。
最優(you)調(diao)度保證:在(zai)單處理器環(huan)境下,EDF被證明(ming)是最優(you)的動態(tai)調(diao)度算法。
缺點:
調度開銷(xiao)大:動(dong)態(tai)優先級(ji)計(ji)算和頻繁的上下文切換增加了系統(tong)開銷(xiao)。
過載(zai)風險:當(dang)系(xi)統總利用率超過1時,EDF無法保(bao)證所有任務都能在截(jie)止(zhi)時間內(nei)完成。
實(shi)(shi)現復雜度高(gao):需要維護復雜的就緒(xu)隊列(lie)結(jie)構,并實(shi)(shi)時計(ji)算任務截止(zhi)時間。
確定(ding)性不足(zu):動態(tai)調(diao)度可能導致系統行為(wei)難以預(yu)測,增加驗證難度。
1. 最低松(song)弛(chi)時間(jian)優先(xian)(LLF)
1) 是什么
最(zui)低松弛度(du)(du)優先調(diao)度(du)(du)算法(Least Slack Time First,簡稱LSTF,也稱為Lowest Laxity First,LLF)是一種在實(shi)時系(xi)統中廣泛應用的(de)動態優先級調(diao)度(du)(du)算法,通過精確(que)(que)計算任務的(de)松弛度(du)(du)來(lai)確(que)(que)定執行順序,確(que)(que)保系(xi)統能夠高效(xiao)處理(li)周期性實(shi)時任務。本文將全面解析(xi)LSTF算法的(de)核心原(yuan)理(li)、實(shi)現機(ji)制、特點優勢及實(shi)際應用場景,為理(li)解這一算法提供系(xi)統性認(ren)知。
2) 松弛度是什(shen)么
松弛(chi)度(Slack Time)是LSTF算(suan)法的核心指標,表示任務從當前(qian)時間起,到必須(xu)完成之前(qian)所剩余的可用時間。松弛(chi)度越小,任務越緊急,優先(xian)級越高。
3) 未執(zhi)行任(ren)務的(de)松(song)弛度怎么算(suan)
對于尚未開始執行的(de)新(xin)任務,松弛度計(ji)算公式為:
Slack Time = Deadline - Current Time - Service Time
其中:
Deadline:任務的截止時(shi)間
Current Time:當前系統時間
Service Time:任(ren)務(wu)的總執行時間
示(shi)例(li):若有一(yi)個任(ren)務A,周期(qi)為(wei)20ms,執行(xing)時(shi)間為(wei)10ms,截止時(shi)間為(wei)30ms。當系統時(shi)間在10ms時(shi),該任(ren)務的松弛度(du)為(wei):
Slack(A) = 30ms - 10ms - 10ms = 10ms
4) 已部分(fen)執行任務的松弛度(du)計算(suan)
對于已經開始執行但(dan)尚未完成的任務(wu),松弛度(du)計(ji)算公式(shi)為(wei):
Slack Time = Deadline - Current Time - Remaining Execution Time
其中:
Remaining Execution Time = Service Time - 已(yi)執行時間
示例:若任務B執行(xing)時(shi)(shi)間為25ms,已運行(xing)5ms,截(jie)止時(shi)(shi)間為50ms。當(dang)系統時(shi)(shi)間在(zai)15ms時(shi)(shi),該任務的松弛度(du)為:
Slack(B) = 50ms - 15ms - (25ms - 5ms) = 25ms - 20ms = 5ms
5) 調度規則
LSTF算法(fa)的(de)核(he)心調度規則是(shi):始終選擇當前松弛度最小的(de)任務(wu)作(zuo)為下一個(ge)執行的(de)任務(wu)。這種動(dong)態(tai)優(you)先級(ji)分(fen)配機制確(que)保(bao)了系(xi)統能(neng)夠根據任務(wu)的(de)緊急程(cheng)度實時調整執行順序。
LSTF算法的調(diao)度過程可以(yi)(yi)分為(wei)以(yi)(yi)下幾個(ge)步(bu)驟:
任務(wu)到達:周(zhou)期性(xing)任務(wu)在每個(ge)周(zhou)期的開(kai)始(shi)時間生成新實(shi)例
松弛度計算:計算所有就(jiu)緒任務的松弛度
優(you)先級排序(xu):根據(ju)松(song)弛度對任(ren)務進行排序(xu),松(song)弛度最小的任(ren)務優(you)先級最高
任(ren)務(wu)(wu)選(xuan)擇:選(xuan)擇優先級最高的任(ren)務(wu)(wu)(即松弛(chi)度最小的任(ren)務(wu)(wu))執行
執行監控:持續監控當前執行任務和(he)就緒隊列中(zhong)的任務
任(ren)務(wu)切換:當(dang)新任(ren)務(wu)到達或當(dang)前任(ren)務(wu)的松弛度變(bian)化時,立即切換到松弛度最(zui)小的任(ren)務(wu)
任(ren)務完成(cheng):任(ren)務完成(cheng)后(hou),更新系統狀(zhuang)態,準備下一輪調度
6) 調(diao)度(du)機(ji)制
LSTF算法通(tong)常(chang)采用可搶(qiang)占式調度,這(zhe)意味著:
1.當一(yi)個任(ren)務的松弛度減為0時(shi),它必須立即搶占CPU,以保證按時(shi)完成
2.當(dang)有更高優先級(即(ji)更低松(song)弛度)的(de)任務到達(da)時,當(dang)前(qian)任務會被暫停,讓(rang)出(chu)CPU
3.任(ren)務切換時,系統需要保存當前(qian)任(ren)務的(de)執(zhi)行狀(zhuang)態,以便后續恢復(fu)
4.這種(zhong)搶占機制確保了系統能(neng)夠及時響應(ying)緊急任(ren)務(wu),但也會帶來一定的調(diao)度開銷。
若碰到相同(tong)松弛度時的處理辦法:
當(dang)多個任(ren)務(wu)具有相同的松(song)弛度且(qie)為(wei)最小時,LSTF算法采用以(yi)下次(ci)級規(gui)則進行調度:
最近(jin)最久未調度(LRU)原則(ze):
優先(xian)調度最(zui)近一次被調度時(shi)間最(zui)久(jiu)的(de)任務
任(ren)務到達順序:按照任(ren)務到達的先后順序進行調度(du)
優先級編號(hao):為每個任(ren)務預設優先級編號(hao),作為最(zui)終(zhong)判(pan)定(ding)依(yi)據
法(fa)核心特點(優點)
動態優先級(ji):任(ren)務優先級(ji)隨松弛度實(shi)時變化,而非固定不變
周期性(xing)任(ren)務(wu)優(you)化:直接(jie)利用(yong)任(ren)務(wu)周期性(xing)和截止期限信息,平衡任(ren)務(wu)間(jian)的(de)調度(du)
可搶(qiang)占(zhan)式調度(du):允許任務(wu)(wu)被搶(qiang)占(zhan),確(que)保(bao)緊(jin)急任務(wu)(wu)優先執行(xing)
資源高效利用:通(tong)過(guo)動(dong)態(tai)調整任務執行順序,減少CPU空閑時間(jian)
最小響(xiang)應時(shi)間(jian):優先執行剩余(yu)處理時(shi)間(jian)最短、截(jie)止時(shi)間(jian)最近的任(ren)(ren)務,有(you)效縮(suo)短任(ren)(ren)務響(xiang)應時(shi)間(jian)
預(yu)防系統過載:通(tong)過優先調度松弛度小的任務,有(you)助于在系統過載時優先保證關鍵任務的截止期限
負載均衡:能(neng)夠在各個任務之(zhi)間實現相對(dui)均衡的負載分配,提高系(xi)統整體(ti)性能(neng)
8) 算法的局限(xian)(缺點)
計(ji)算(suan)復雜度(du)高:需頻繁計(ji)算(suan)所有就緒(xu)任務的松弛度(du),對系(xi)統計(ji)算(suan)能力有一定要求
調(diao)度開銷大:頻繁的任務(wu)(wu)切換可能導致調(diao)度開銷增加,特別是在任務(wu)(wu)粒(li)度較(jiao)細的場景
參(can)數(shu)敏感:算法效果高度(du)依賴任務(wu)參(can)數(shu)的準(zhun)確性,包括(kuo)周(zhou)期、執行(xing)時間和截止(zhi)期限
不適用(yong)于非周(zhou)(zhou)期(qi)任(ren)務(wu):主要針對(dui)周(zhou)(zhou)期(qi)性任(ren)務(wu)設(she)計,對(dui)非周(zhou)(zhou)期(qi)任(ren)務(wu)的處理不如EDF算法靈活
總結
綜(zong)上通過合(he)理(li)選擇調度算法并結合(he)優(you)化(hua)策略(lve),嵌入式(shi)系統可在資源受限條件(jian)下實(shi)現高實(shi)時性與(yu)可靠性。實(shi)際(ji)應用中需根據(ju)任務特性(周期性、截止時間、優(you)先級)綜(zong)合(he)評估,必要時可采用混(hun)合(he)調度方案。
感謝大家看我絮絮叨叨,希望(wang)可以(yi)對(dui)你有所(suo)幫助。

