亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于線性鏈表的實時任務可調度性測試半直接模擬方法

文檔序號:9506306閱讀:485來源:國知局
基于線性鏈表的實時任務可調度性測試半直接模擬方法
【專利說明】
[0001]
技術領域: 本發(fā)明涉及一種基于線性鏈表的實時任務可調度性測試半直接模擬方法。
[0002]
【背景技術】: 在實時系統(tǒng)設計和應用過程中,對于給定的η個周期性或者不定時發(fā)生的實時任務, 在真正調度和執(zhí)行之前判定這組實時任務是否可調度,即每個任務被釋放之后是否都能在 其相對最后期限內執(zhí)行完畢,這是一個十分重要的問題,對于保證實時系統(tǒng)安全運行具有 極為重要的意義。
[0003] 經(jīng)典的優(yōu)先搶占調度模型,簡稱為CP模型,其中CP即classic preemptive,CP 模型的調度方式為:每當?shù)蛢?yōu)先級任務在運行過程中有高優(yōu)先級任務到來時,低優(yōu)先級任 務將被剝奪執(zhí)行權而高優(yōu)先級任務開始執(zhí)行,當高優(yōu)先級任務執(zhí)行完畢且沒有其它高優(yōu) 先級任務等待執(zhí)行時,該低優(yōu)先級任務從被剝奪的位置處繼續(xù)執(zhí)行;事務處理方式的優(yōu)先 搶占調度模型,簡稱為TP模型,其中TP即transactional preemptive,例如,TP模型有 基于優(yōu)先級的功能反應式編程模型,簡稱為P-FRP模型,其中P-FRP即joriori /rac reac Ke 或者中止并重新開始模型,簡稱為AR模型,其中 AR即abort-and-restart;或者軟件事務存儲器模型,簡稱為STM模型,STM即software transactional memory,STM模型包括渴望沖突檢測策略和懶惰沖突檢測策略,渴望沖突檢 測策略簡稱為ECD策略,其中ECD即eager conflict detection,懶惰沖突檢測策略簡稱 為LCD策略,其中LCD即lazy conflict detection;TP模型的調度方式為:每當?shù)蛢?yōu)先級 任務在運行過程中有高優(yōu)先級任務到來時,低優(yōu)先級任務將被剝奪執(zhí)行權而高優(yōu)先級任務 開始執(zhí)行,該低優(yōu)先級任務已執(zhí)行的結果都被廢棄,當高優(yōu)先級任務執(zhí)行完畢且沒有其它 高優(yōu)先級任務等待執(zhí)行時,該低優(yōu)先級任務從其最開始位置重新執(zhí)行;符號串r- s表示將 變量s的值賦值給變量r;min(a,b)即取a和b中的最小值,max(a,b)即取a和b中的最 大值;mod(a,b)即a模b后的余數(shù);lcm(a,b)即a和b的最小公倍數(shù);任務的一次釋放稱 為該任務的一個任務實例(job)或者調用(invoke)或者任務實例(instance);【和】之間、 K和3之間、『和』之間、[和]、「和」之間分別表示一個語句體;任務實例執(zhí)行中止包括執(zhí)行 被尚優(yōu)先級任務中斷和執(zhí)行完成。
[0004] 給定調度模型為CP模型或者TP模型;在一組η個實時任務的可調度性(或可行 性)區(qū)間測試(或檢驗或檢查或檢測)這組任務的可調度性。如果該組任務是可調度的,那 么在一個時間點S之后,每隔時間長度LCM n,這組任務的調度情況就出現(xiàn)重復,即后續(xù)調度 過程實際上是一段在長度為LCMn的時間區(qū)間[S,S+LCMJ內的調度的重復。
[0005] 系統(tǒng)啟動時刻為時間0,實際測試可調度性時,由于這組任務在區(qū)間[0,S)內的調 度包含初次到達情形而往往不具有重復性,因此,傳統(tǒng)上將[0, S+LCMJ作為實際的可調度 性測試區(qū)間。這段可調度性測試區(qū)間長度越小,實際測試中效率越高。從普遍情況來看,可 調度性測試區(qū)間長度一般不小于LCM n。此前沒有采用線性鏈表記錄調度過程對任務集的可 調度性進行測試的方法。
[0006]

【發(fā)明內容】
: 本發(fā)明的目的是提供一種基于線性鏈表的實時任務可調度性測試半直接模擬方法,通 過使用鏈表結點表示任務(或事件)的調度執(zhí)行階段,采用線性鏈表記錄測試的調度過程并 使用半直接模擬的方法來達到確定實時任務(或事件)可調度性測試的目的;適用于實時任 務或事件優(yōu)先級固定的情形。
[0007] 上述的目的通過以下的技術方案實現(xiàn): 一種基于線性鏈表的實時任務可調度性測試半直接模擬方法,該方法包括:對每個i, 1瘦i玄n,記任務τ i的不早于調度穩(wěn)定點S釋放的第一個任務實例的釋放時間為新的釋 放偏移,還用Φi表示,根據(jù)給定的調度模型,采用線性鏈表記錄調度模擬和測試過程,首先 對任務τ τ 2, . . .,τ n i,在時間范圍Φ_(η υ到Φ _(n n+ LCMn i內按優(yōu)先級從高到低順序 模擬每個任務T1的調度執(zhí)行,然后在當前鏈表上對任務τ n進行測試。
[0008] 所述的基于線性鏈表的實時任務可調度性測試半直接模擬方法,所述的采用線 性鏈表記錄調度模擬和測試過程,首先對任務τ τ 2, ...,τ n i,在時間范圍到 Φ_(η1)+ LCMnl內按優(yōu)先級從高到低順序模擬每個任務τ i的調度執(zhí)行,然后在當前鏈表 上對任務τ n進行測試是指,采用一個線性鏈表記錄任務的調度模擬執(zhí)行和測試過程,任務 實例開始執(zhí)行時間點記錄到鏈表結點的start字段,任務實例執(zhí)行中止時間點記錄到鏈表 結點的end字段,每個鏈表結點表示從該結點start字段值給出的時間點到該結點end字 段值給出的時間點之間一個或多個任務實例的連續(xù)調度執(zhí)行;Φ_ (1)- Φ pL%- (:1;對 每個 i,2^i<n,Φ_ ⑴一π?η(Φ 咖(11),O1LLRT廣 C1;MAXinter- Φ_(η1)+ LCMnl;給 標志變量flag賦一個初值;【首先在時間范圍Φ η到Φ n+ LCMn i內模擬任務τ 1 的從第1個到第LCMn VT1個任務實例的執(zhí)行,即建立LCMn /T1個鏈表結點,對每個j從小 到大,!蹵j逄LCMn /T1, K第j個鏈表結點的start字段賦值為任務實例τ u的釋放時間 hj,第j個鏈表結點的end字段賦值為r 然后對任務τ 2,τ3,...,τη1,在時間范 圍Φ_(η ?到Φ _(n 1)+LCMn i內按優(yōu)先級從高到低順序模擬每個任務τ i的從第1個到第 LCMn /!^個任務實例的調度執(zhí)行,即,K對每個i,2_i蹙n-1,每個j,l遽LCMn /T1, j從小到大依次調用執(zhí)行模擬單個任務實例函數(shù)Fl對任務τ i的第j個任務實例τ u進 行模擬;3;】;i-n,調用測試模擬單個任務函數(shù)F2對任務τ i進行測試;給出任務集是 可調度的信息。
[0009] 所述的基于線性鏈表的實時任務可調度性測試半直接模擬方法,所述的執(zhí)行模擬 單個任務實例函數(shù)Fl對任務τ i的第j個任務實例τ u進行模擬是指,【根據(jù)r u在鏈表 中通過與結點中的start字段值及end字段值比較查找并從當前作業(yè)j在鏈表中的相對位 置開始,按CP模型調度時將運行時間C 1對應為1個或連續(xù)多個任務τ i的空閑區(qū)間鏈表結 點,這些結點表示的區(qū)間長度之和等于C1;按TP模型調度時將運行時間C i對應為任務τ i 的一個允許區(qū)間結點PINode,結點PINode表示的區(qū)間長度等于C i,且在該任務實例釋放時 間到結點PINode之間的全部任務τ i的極大空閑區(qū)間都合并到其相鄰區(qū)間;按時間次序 依次鏈入鏈表中的相應位置,鏈入鏈表的同時合并調度執(zhí)行區(qū)間時間點邊界重合的鏈表結 點,在模擬過程中無法在鏈表上完成運行時間(^的對應時修改標志變量flag值不同于其 初值;在模擬完成后記錄任務τ i當前的最大響應時間LRT 1;如果標志變量flag值不同于 其初值或者LRT1M1,則返回不可調度信息并中止對該任務集的可調度性測試;】。
[0010] 所述的基于線性鏈表的實時任務可調度性測試半直接模擬方法,所述的測試模擬 單個任務函數(shù)F2對任務τ i進行測試是指,【按TP模型調度時:〖依次從每個任務實例的釋 放時間點開始至多經(jīng)歷時間長度LCM1 i,確定是否有任務τ i的允許區(qū)間,如果沒有,則返回 不可調度信息并中止對該任務集的可調度性測試;每個任務實例模擬完成后記錄任務τ i 當前的最大響應時間LRT1;如果LRT 返回不可調度信息并中止對該任務集的可調度 性測試;3 ; 按CP模型調度時I從時間點Φ _(1)開始到時間點Φ _(1)+^^,依次對任務τ i的每 個任務實例確定是否有區(qū)間長度之和大于等于(;的1個或連續(xù)多個極大空閑區(qū)間,如果沒 有,則返回不可調度信息并中止對該任務集的可調度性測試;每個任務實例模擬完成后記 錄任務τ i當前的最大響應時間LRT 1;如果LRT AD1,則返回不可調度信息并中止對該任務 集的可調度性測試;〗;】。
[0011] 所述的基于線性鏈表的實時任務可調度性測試半直接模擬方法,所述的TP模型 的任務^的允許區(qū)間是指:任務τ 4勺一個空閑區(qū)間EI是指,對于任務τ τ2,...,τη1 的調度結果中一個沒有被占用的連續(xù)的時間范圍區(qū)間[h,t2),t2>ti,在該區(qū)間內沒有任務 集{ τ τ 2, . . .,τ n J中的任務釋放,并且在時刻t i及之前所有已釋放的任務集{ τ τ 2 ,...,τη1}中的任務都已執(zhí)行完畢; 任務^的一個空閑區(qū)間[tl,t2)稱為一個任務τ 極大空閑區(qū)間maxEI是指,時刻 L為任務τ ^勺釋放時間或者任務集{τ τ2,...,τη1}中的任務結束時間,并且從時刻t2 開始有任務集{ τ i,τ 2, . . .,τ n J中的任務釋放或者七2等于Φ _(1 ^kXLCM1 pkg: 1;對 于TP模型,如果一個任務τ i的空閑區(qū)間[tl,t2)或者極大空閑區(qū)間[tpt2)滿足 C1,則區(qū)間[ti,t2)稱為任務τ ^勺一個允許區(qū)間PI。
[0012] 所述的基于線性鏈表的實時任務可調度性測試半直接模擬方法,所述的給出該任 務集可調度或者不可調度信息,在給出任務集是可調度的信息時,給出Hiax 1 s i霞n (LRT1),表 示全部任務τ i在當前優(yōu)先級設置和任務釋放偏移時的最大響應時間。
[0013] 所述的基于線性鏈表的實時任務可調度性測試半直接模擬方法,所述的合并調度 執(zhí)行區(qū)間時間點邊界重合的鏈表結點是指,如果在鏈表中會產(chǎn)生或者有兩個相鄰的結點 Nodel和Node2使得Nodel的end字段值等于Node2的start字段值,則將這兩個結點合并 為一個結點Node3鏈入鏈表中Nodel的位置,代替Nodel和Node2這兩個結點,其中Node3 的start字段值賦值為Nodel的start字段值,Node3的end字段值賦值為Node2的end字 段值,Node3的next字段值賦值為Node2的next字段值。
[0014] 有益效果: 1.本發(fā)明的方法不同于已有的實時任務(或事件)可調度性測試方法,本發(fā)明的方法通 過用
當前第1頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1