




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、一、RhealstoneRhealstone是系統(tǒng)實時性的測量基準之一,Rhealstone方法對ERTOS中六個關鍵操作的時間量進行測量,并將它們的加權和稱為Rhealstone數(shù)。這六個時間量如下:1 .任務切換時間(task switching time),也稱上下文切換時間,定義為系統(tǒng)在兩個獨立的、處于就緒態(tài)并具有相同優(yōu)先級的任務之間切換所需要的時間。它包括三個部分,即保存當前任務上下文的時間、調(diào)度程序選中新任務的時間和恢復新任務上下文的時間。切換所需的時間主要取決于保存任務上下文所用的數(shù)據(jù)結構以及操作系統(tǒng)采用的調(diào)度算法的效率2 .搶占時間(preemption time ),即系統(tǒng)將
2、控制從低優(yōu)先級的任務轉移到高優(yōu)先級任務所花費的時間。為了對任務進行搶占,系統(tǒng)必須首先識別引起高優(yōu)先級任務就緒的事件,比較兩個任務的優(yōu)先級,最后進行任務的切換,所以搶占時間中包括了任務切換時間。3. 中斷延退時間(interrupt latency time ),指從中斷第一條指令所持續(xù)的時間間隔.它由 四部分組成,即硬件延退部分(通常可以忽略不計)、ERTOS的關中斷時間、處理器完成當 前指令的時間以及中斷響應周期的時間。4. 信號量混洗時間(semaphore shuffling time),指從一個任務釋放信號量到另一個等待該信號量的任務被激活的時間延退。在ERTOS中,通常有許多任務同時
3、競爭某一共享資源,基于信號量的互斥訪問保證了任一時刻只有一個任務能夠訪問公共資源。信號量混洗時間反映了與互斥有關的時間開銷,因此也是衡量ERTOS實時性能的一個重要指標。5. 死鎖解除時間(deadlock breaking time),即系統(tǒng)解開處于死鎖狀態(tài)的多個任務所需花費的時間。死鎖解除時間反映了RTOS解決死鎖的算法的效率。6. 數(shù)據(jù)包吞吐率(datagram throuShput time),指一個任務通過調(diào)用ERTOS的原語,把數(shù) 據(jù)傳送到另一個任務去時,每秒可以傳送的字節(jié)數(shù)。二、關鍵的性能指標分析一個實時操作系統(tǒng)的實時性能的主要評測指標包括上下文切換時間,搶占時間,中斷延退時間,
4、信號量混洗時間。具體含義如下:1. 上下文切換時間上下文切換時間也稱任務切換時間(task switching time),定義為系統(tǒng)在兩個獨立的、處于就緒態(tài)并且具有相同優(yōu)先級的任務之間切換所需要的時間。它包括三個部分,即保存當前任務上下文的時間、調(diào)度程序選中新任務的時間和恢復新任務上下文的時間。切換所需的時間主要取決于保存任務上下文所用的數(shù)據(jù)結構以及操作系統(tǒng)采用的調(diào)度算法的效率。產(chǎn)生任務切換的原因可以是資源可得,信號量的獲取等。任務切換是任一多任務系統(tǒng)中基本效率的測量點,它是同步的,非搶占的,實時控制軟件實現(xiàn)了一種基于同等優(yōu)先級任務的時間片輪轉算法。影響任務切換的因素有:主機 CPU的結構,
5、指令集以及 CPU特性。任務切換過程增加了應用程序的額外負荷。CPU的內(nèi)部寄存器越多,額外負荷就越重。任務切換所需要的時間取決于 CPU有多少寄存器要入棧。實時內(nèi)核的性能不應該以每秒鐘能做多少次任務切換來評價,RTOS中通常是1微秒左右。Figure 。 1.: Context Switch TimeT1 = TIME START FOR FUNCTION “OS_TASK_SW。(任務切換宏)T2 = TIME END FOR FUNCTION “OS_TASK_SW。CST= T2-T12. 搶占時間(preemption time )搶占時間即系統(tǒng)將控制權從低優(yōu)先級的任務轉移到高優(yōu)先級任
6、務所花費的時間。為了對任務進行搶占,系統(tǒng)必須首先識別引起高優(yōu)先級任務就緒的事件,比較兩個任務的優(yōu)先級, 最后進行任務的切換,所以搶占時間中包括了任務切換時間。它和任務切換有些類似,但是搶占時間通?;ㄙM時間更長。這是因為執(zhí)行中首先要確認喚醒事件,并評估正在運行的任務和請求運行的任務的優(yōu)先級高低,然后才決定是否切換任務。實質(zhì)上,所有的多處理任務可以在執(zhí)行期間動態(tài)分配優(yōu)先級,所以,搶占時間也是衡量實時性能的重要指標。TASK1TASK;TUTTT7Figure 2.2: Preemption TimePT = T2 - TO3. 中斷延退(Interrupt Latency)中斷延退時間是指從接收到
7、中斷信號到操作系統(tǒng)做出響應,并完成進入中斷服務例程所需要的時間。多任務操作系統(tǒng)中,中斷處理首先進入一個中斷服務的總控程序,然后才進入驅動程序的ISR。中斷延退時間=最大關中斷時間+硬件開始處理中斷到開始執(zhí)行中斷服務例程第一條指令之間的時間。所以,中硬件開始處理中斷到開始執(zhí)行中斷服務例程的第一條指令之間的時間由硬件決定,斷延退時間的長短主要取決于最大關中斷的時間。硬實時操作系統(tǒng)的關中斷時間通常是幾微秒,而Linux最壞可達幾毫秒。Ta = T1-T0OS_TASSW()OSInlExiXITTc = T5-T4Figure 2.3: Interrupt LatencyIL= Max(Ta,Tb,
8、Tc)4 .信號量混洗時間信號量混洗時間(semaphore shuffling time),是指從一個任務釋放信號量到另一個等待該信 號量的任務被激活的時間延退。在 RTOS中,通常有許多任務同時競爭某一共享資源,基 于信號量的互斥訪問保證了任一時刻只有一個任務能夠訪問公共資源。信號量混洗時間反映了與互斥有關的時間開銷,因此也是衡量ERTOS實時性能的一個重要指標。TAS* IFigure 2.4: Semaphore Shuffling TimeSST = T0-T1三、測試方法1. 任務切換時間測試測試設計說明:測試項為協(xié)同式的任務調(diào)度時間,它是指具有相同優(yōu)先級并且相互獨立的兩個就緒狀態(tài)
9、的人物之間相互切換所花費的時間開銷。它主要有保存當前任務上下文的時間,調(diào)度程序選中新任務的時間和恢復新任務上下文的時間這三部分組成。圖 4.2給出了兩個任務切換過程的示意圖任務】等待同步信號切換任務發(fā)送侑垮st開刊計mH激活新任務Taskl:/獲取新任務T網(wǎng)kl的激活時間:H掛起當前任務Task。;/進入循壞體更復執(zhí)行K次;Task_Gefnmc(Tb(TASKO);/茯收任務Task。運行的時問:任務I圖3.1兩個任務切換過程的示意圖這里假設測試任務用 TASK表示,TASKi表示第i個正在運行的任務,測試過程中為了 能夠盡量減少系統(tǒng)的誤差,這里我們采取給系統(tǒng)中設置多個任務,記為任務0到N-
10、1。同時各個任務間的切換是從 TASK0開始,到TASK1,這樣一直切換下去,最后再從TASKN-1切換到最開始的任務TASK0。上述過程重復K次,就可以得到K個任務切換時間。在測試過程中,需要在任務的源代碼中插入測試控制代碼并記錄時間。如下面代碼1所示為任務TASK0插入測試控制代碼后的偽代碼執(zhí)行流程。代碼1/ 任務 TASKO/插入代碼開始TaskRcsume(TASKl);Task GetTime(TASKl);Task S uspcnd( SELF);Save(Tb(TASK0>Ta(TASKO);/ 保存 TaskO 與 Taskl 兩任務網(wǎng)的切換時閭;TaskR esume(
11、TAS K 1 );Task_GetTime(Ta(TASK 1 );TaskSuspend(SELF);H激活任務Task I;H獲取任務Taskl激活的時間:拜起當前任Taskl.-/捅入代碼結束2. 任務搶占時間測試測試設計說明:測試項為搶占式的任務調(diào)度時間,大小取決于低優(yōu)先級任務向高優(yōu)先級任務切換所需要的時間開銷。系統(tǒng)在進行任務搶占的時候,先區(qū)分出任務優(yōu)先級的大小,找到優(yōu)先級高的就緒事件,當發(fā)生任務切換時,高優(yōu)先級的任務先被響應,這里搶占時間就已經(jīng)把任務切換時間包含在內(nèi)。該測試中包含 5個由高到低不同優(yōu)先級的任務,各個任務在執(zhí)行過程中會將自己的計 數(shù)器加1。在測試開始時,只有優(yōu)先級最低
12、的任務處于就緒,其它任務都被掛起。優(yōu)先級最 低的任務先喚醒優(yōu)先級次低的任務被搶占,這樣依次搶占下去后,最高優(yōu)先級的任務獲的 CPU使用權后又將自己掛起, 次高優(yōu)先級的任務也將自己掛起,到最后優(yōu)先級最低任務又獲得CPU使用權,一個新的循環(huán)又開始。圖 3.2是測試3的運行示意圖:countLCountCountLCountICountnResunenResumeResumeResumeSuspendLooprTaskOSuspendLoopTaskl Suspend L8prTask2SuspendLgpITa5k3Loop圖3.2搶占式的任務調(diào)度測試3. 中斷管理性能測試測試設計說明:定義中斷處
13、理延退時間是系統(tǒng)中斷發(fā)生到中斷服務程序中首條指令開始 運行之間的間隔所花費的時間。在測試過程中,為了能夠測試系統(tǒng)中斷延退時間的最差結果,可以選擇一些如系統(tǒng)調(diào)用等對中斷延退有比較大影響作用的一系列因素,并使中斷服務程序綁定其對應的中斷號,最后在程序的適當位置插入測量控制代碼。如下面代碼 2所示為一個 用于測量中斷延退的測試負載的偽代碼示例。代碼2/中斷服務程序Tas<GetlLmeTb); /獲取開始執(zhí)行中斷服務程序的時間 t -Tb-Ta;計算中斷延瑕的大小,用表示save(i);"保存中斷延退時間任* TASKi的開始 插入代碼開始Task GctTime(Ta; /獲取中斷服備請求的時間/產(chǎn)生一次中斷H插入代碼始束代碼說明:代碼2中函數(shù)call_init是用于生成系統(tǒng)中斷, 實際過程中通常也采用軟中斷的方式。 這里我們假設Ta是系統(tǒng)中斷請求開始的時間,Tb是系統(tǒng)中斷服務程序被調(diào)用進行的時間,從而Tb-Ta的時間差就是中斷延退。4 .信號混洗時間測試測試說明:IPC機制性能測試主要測試以下時間:創(chuàng)建一個同步/互斥對象的時間,刪除一個同步/互斥對象的時間,獲取一個同步 /互斥對象的時間,釋放一個同步/互斥對象的時間。獲取/釋放信號量通常指從釋放信號量到等待該信號量被重新激活所需要的時間間隔。測試 過程中,設計一個任務TA
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 植樹減壓活動方案
- 民警輔警春季活動方案
- 法制宣教活動方案
- 沈陽帳篷節(jié)活動方案
- 畢業(yè)郊游活動方案
- 植樹活動報到活動方案
- 步行活動策劃方案
- 油田掃雪活動方案
- 河南商會活動方案
- 桂溪開業(yè)活動方案
- GB/T 36624-2018信息技術安全技術可鑒別的加密機制
- 河南省幼兒園辦園基本標準豫政辦〔2023〕169號附件1-5
- 微生物實驗實驗一顯微鏡的使用及微生物形態(tài)觀察
- 2023年江蘇省環(huán)保集團有限公司校園招聘筆試題庫及答案解析
- 公司重組文書系列范本
- 屠宰場安全隱患排查和治理制度
- 全國《法律職業(yè)資格考試》試卷一預熱階段同步訓練卷(附答案)
- 2022年丹東市元寶區(qū)社區(qū)工作者招聘筆試題庫及答案解析
- 藝術欣賞完整版課件全套ppt教程(最新)
- GB∕T 2518-2019 連續(xù)熱鍍鋅和鋅合金鍍層鋼板及鋼帶
- 教育培訓機構輔導老師月度績效考核表(KPI)
評論
0/150
提交評論