




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、、RhealstoneRhealstone是系統(tǒng)實(shí)時(shí)性的測量基準(zhǔn)之一,Rhealstone方法對ERTOS中六個(gè)關(guān)鍵操作的時(shí)間量進(jìn)行測量,并將它們的加權(quán)和稱為Rhealstone數(shù)。這六個(gè)時(shí)間量如下:1 .任務(wù)切換時(shí)間(task switching time),也稱上下文切換時(shí)間,定義為系統(tǒng)在兩個(gè)獨(dú)立的、處于就緒態(tài)并具有相同優(yōu)先級的任務(wù)之間切換所需要的時(shí)間。它包括三個(gè)部分,即保存當(dāng)前任務(wù)上下文的時(shí)間、調(diào)度程序選中新任務(wù)的時(shí)間和恢復(fù)新任務(wù)上下文的時(shí)間。切換所需的時(shí)間主要取決于保存任務(wù)上下文所用的數(shù)據(jù)結(jié)構(gòu)以及操作系統(tǒng)采用的調(diào)度算法的效率2 .搶占時(shí)間(preemption time ),即系統(tǒng)將控
2、制從低優(yōu)先級的任務(wù)轉(zhuǎn)移到高優(yōu)先級任務(wù)所花費(fèi)的時(shí)間。為了對任務(wù)進(jìn)行搶占,系統(tǒng)必須首先識別引起高優(yōu)先級任務(wù)就緒的事件,比較兩個(gè)任務(wù)的優(yōu)先級,最后進(jìn)行任務(wù)的切換,所以搶占時(shí)間中包括了任務(wù)切換時(shí)間。3.中斷延遲時(shí)間(interrupt latency time ),指從中斷第一條指令所持續(xù)的時(shí)間間隔.它由 四部分組成,即硬件延遲部分(通常可以忽略不計(jì)卜ERTOS的關(guān)中斷時(shí)間、處理器完成當(dāng) 前指令的時(shí)間以及中斷響應(yīng)周期的時(shí)間。4 .信號量混洗時(shí)間(semaphore shuffli ng time),指從一個(gè)任務(wù)釋放信號量到另一個(gè)等待該信號量的任務(wù)被激活的時(shí)間延遲。在ERTOS中,通常有許多任務(wù)同時(shí)競爭
3、某一共享資源,基于信號量的互斥訪問保證了任一時(shí)刻只有一個(gè)任務(wù)能夠訪問公共資源。信號量混洗時(shí)間反映了與互斥有關(guān)的時(shí)間開銷,因此也是衡量ERTOS實(shí)時(shí)性能的一個(gè)重要指標(biāo)。5 .死鎖解除時(shí)間(deadlock breaking time),即系統(tǒng)解開處于死鎖狀態(tài)的多個(gè)任務(wù)所需花費(fèi)的時(shí)間。死鎖解除時(shí)間反映了RTOS解決死鎖的算法的效率。6 .數(shù)據(jù)包吞吐率(datagram throuShput time),指一個(gè)任務(wù)通過調(diào)用ERTOS的原語,把數(shù)據(jù)傳送到另一個(gè)任務(wù)去時(shí),每秒可以傳送的字節(jié)數(shù)。二、關(guān)鍵的性能指標(biāo)分析一個(gè)實(shí)時(shí)操作系統(tǒng)的實(shí)時(shí)性能的主要評測指標(biāo)包括上下文切換時(shí)間,搶占時(shí)間,中斷延遲時(shí)間,信號量
4、混洗時(shí)間。具體含義如下:1 .上下文切換時(shí)間上下文切換時(shí)間也稱任務(wù)切換時(shí)間(task switch ing time),定義為系統(tǒng)在兩個(gè)獨(dú)立的、處于就緒態(tài)并且具有相同優(yōu)先級的任務(wù)之間切換所需要的時(shí)間。它包括三個(gè)部分,即保存當(dāng)前任務(wù)上下文的時(shí)間、調(diào)度程序選中新任務(wù)的時(shí)間和恢復(fù)新任務(wù)上下文的時(shí)間。切換所需的時(shí)間主要取決于保存任務(wù)上下文所用的數(shù)據(jù)結(jié)構(gòu)以及操作系統(tǒng)采用的調(diào)度算法的效率。產(chǎn)生任務(wù)切換的原因可以是資源可得,信號量的獲取等。任務(wù)切換是任一多任務(wù)系統(tǒng)中基本效率的測量點(diǎn),它是同步的,非搶占的,實(shí)時(shí)控制軟件實(shí)現(xiàn)了一種基于同等優(yōu)先級任務(wù)的時(shí)間片輪轉(zhuǎn)算 法。影響任務(wù)切換的因素有:主機(jī)CPU的結(jié)構(gòu),指令
5、集以及 CPU特性。任務(wù)切換過程增加了應(yīng)用程序的額外負(fù)荷。CPU的內(nèi)部寄存器越多,額外負(fù)荷就越重。任務(wù)切換所需要的時(shí)間取決于 CPU有多少寄存器要入棧。實(shí)時(shí)內(nèi)核的性能不應(yīng)該以每秒鐘能 做多少次任務(wù)切換來評價(jià),RTOS中通常是1微秒左右。任務(wù)切換宏)Figure 。1.: Con text Switch TimeT1 = TIME START FOR FUNCTION “OS_TASK_SW” (T2 = TIME END FOR FUNCTION “OS_TASK_SW”CST= T2-T12 .搶占時(shí)間(preemption time )搶占時(shí)間即系統(tǒng)將控制權(quán)從低優(yōu)先級的任務(wù)轉(zhuǎn)移到高優(yōu)先級任
6、務(wù)所花費(fèi)的時(shí)間。為了對任務(wù)進(jìn)行搶占,系統(tǒng)必須首先識別引起高優(yōu)先級任務(wù)就緒的事件,比較兩個(gè)任務(wù)的優(yōu)先級, 最后進(jìn)行任務(wù)的切換,所以搶占時(shí)間中包括了任務(wù)切換時(shí)間。它和任務(wù)切換有些類似, 但是搶占時(shí)間通?;ㄙM(fèi)時(shí)間更長。這是因?yàn)閳?zhí)行中首先要確認(rèn)喚醒事件,并評估正在運(yùn)行的任務(wù)和請求運(yùn)行的任務(wù)的優(yōu)先級高低,然后才決定是否切換任務(wù)。實(shí)質(zhì)上,所有的多處理任務(wù)可以在執(zhí)行期間動(dòng)態(tài)分配優(yōu)先級,所以,搶占時(shí)間也是衡量實(shí)時(shí)性能的重要指標(biāo)。TA5K1'ASK 2Figure 2.2: Preempti on TimePT = T2 -T03 .中斷延遲(Interrupt Latency)并完成進(jìn)入中斷服務(wù)例程所
7、需要中斷延遲時(shí)間是指從接收到中斷信號到操作系統(tǒng)做出響應(yīng),然后才進(jìn)入驅(qū)動(dòng)的時(shí)間。多任務(wù)操作系統(tǒng)中,中斷處理首先進(jìn)入一個(gè)中斷服務(wù)的總控程序,程序的ISR。中斷延遲時(shí)間=最大關(guān)中斷時(shí)間+硬件開始處理中斷到開始執(zhí)行中斷服務(wù)例程第一條指令之間的時(shí)間。硬件開始處理中斷到開始執(zhí)行中斷服務(wù)例程的第一條指令之間的時(shí)間由硬件決定,所以,中斷延遲時(shí)間的長短主要取決于最大關(guān)中斷的時(shí)間。硬實(shí)時(shí)操作系統(tǒng)的關(guān)中斷時(shí)間通常是幾微秒,而Linux最壞可達(dá)幾毫秒。77Ta = T1-T0Tb = T3-T2Tc = T5-T4Figure 2.3: In terrupt Late ncyIL= Max(Ta,Tb,Tc)4 .信
8、號量混洗時(shí)間信號量混洗時(shí)間(semaphore shuffling time),是指從一個(gè)任務(wù)釋放信號量到另一個(gè)等待該信 號量的任務(wù)被激活的時(shí)間延遲。在RTOS中,通常有許多任務(wù)同時(shí)競爭某一共享資源,基于信號量的互斥訪問保證了任一時(shí)刻只有一個(gè)任務(wù)能夠訪問公共資源。信號量混洗時(shí)間反映了與互斥有關(guān)的時(shí)間開銷,因此也是衡量ERTOS實(shí)時(shí)性能的一個(gè)重要指標(biāo)。TAS* IFigure 2.4: Semaphore Shuffl ing TimeSST = T0-T1三、測試方法1.任務(wù)切換時(shí)間測試測試設(shè)計(jì)說明:測試項(xiàng)為協(xié)同式的任務(wù)調(diào)度時(shí)間, 的兩個(gè)就緒狀態(tài)的人物之間相互切換所花費(fèi)的時(shí)間開銷。它是指具有相
9、同優(yōu)先級并且相互獨(dú)立 它主要有保存當(dāng)前任務(wù)上下文的時(shí)間,調(diào)度程序選中新任務(wù)的時(shí)間和恢復(fù)新任務(wù)上下文的時(shí)間這三部分組成。圖4.2給出了兩個(gè)任務(wù)切換過程的示意圖隹務(wù)】八 JdL m發(fā)送命垮鈕片始計(jì)時(shí)切換仕務(wù)任務(wù)1停止訃時(shí)圖3.1兩個(gè)任務(wù)切換過程的示意圖這里假設(shè)測試任務(wù)用 TASK表示,TASKi表示第i個(gè)正在運(yùn)行的任務(wù),測試過程中為了 能夠盡量減少系統(tǒng)的誤差,這里我們采取給系統(tǒng)中設(shè)置多個(gè)任務(wù),記為任務(wù)0到N-1。同時(shí)各個(gè)任務(wù)間的切換是從 TASK0開始,到TASK1,這樣一直切換下去, 最后再從TASKN-1 切換到最開始的任務(wù)TASK0。上述過程重復(fù)K次,就可以得到K個(gè)任務(wù)切換時(shí)間。在測試過程中
10、,需要在任務(wù)的源代 碼中插入測試控制代碼并記錄時(shí)間。如下面代碼1所示為任務(wù)TASK0插入測試控制代碼后的偽代碼執(zhí)行流程。代碼1/ 任務(wù) TASK0 /插入代碼開始TaskRcsume(TASKl);Task GetTime(TASKl);H激活新任務(wù)Taskl:"獲取新任務(wù)T站kl的激活時(shí)間:H掛起十前任務(wù)TaskO;/進(jìn)入循壞體重復(fù)執(zhí)行K次;Task Gd 1me<7b(TASK0|);/(任務(wù)T減o運(yùn)行的WfnhTask S uspcnd( SELF);Save(Tb(TASK0>Ta(TASKO);/ 保存 TaskO 與 Taskl 兩任務(wù)間的切換時(shí)間;TaskR
11、 esume(TAS K 1 );Task GetTime(Ta(TASK 1 );TaskSuspend(SELF);H激活任務(wù)Task I;"獲取任務(wù)血此1激活的時(shí)間:"并起當(dāng)前任務(wù)Taskl.-/捕入代碼結(jié)束2 任務(wù)搶占時(shí)間測試測試設(shè)計(jì)說明:測試項(xiàng)為搶占式的任務(wù)調(diào)度時(shí)間,大小取決于低優(yōu)先級任務(wù)向高優(yōu)先級任務(wù)切換所需要的時(shí)間開銷。系統(tǒng)在進(jìn)行任務(wù)搶占的時(shí)候,先區(qū)分出任務(wù)優(yōu)先級的大小,找到優(yōu)先級高的就緒事件,當(dāng)發(fā)生任務(wù)切換時(shí),高優(yōu)先級的任務(wù)先被響應(yīng),這里搶占時(shí)間就已經(jīng)把任務(wù)切換時(shí)間包含在內(nèi)。該測試中包含 5個(gè)由高到低不同優(yōu)先級的任務(wù),各個(gè)任務(wù)在執(zhí)行過程中會(huì)將自己的計(jì) 數(shù)器加
12、1。在測試開始時(shí),只有優(yōu)先級最低的任務(wù)處于就緒,其它任務(wù)都被掛起。優(yōu)先級最 低的任務(wù)先喚醒優(yōu)先級次低的任務(wù)被搶占,這樣依次搶占下去后,最高優(yōu)先級的任務(wù)獲的 CPU使用權(quán)后又將自己掛起, 次高優(yōu)先級的任務(wù)也將自己掛起,到最后優(yōu)先級最低任務(wù)又獲得CPU使用權(quán),一個(gè)新的循環(huán)又開始。圖 3.2是測試3的運(yùn)行示意圖:countLCountCount/iCountCountUResunenResumeResumenResumerTaskOTasklrTask2iTa5k3SuspendSuspendSuspendSuspendLoopLoopLxpLgpLoop圖3.2搶占式的任務(wù)調(diào)度測試3 中斷管理性能
13、測試測試設(shè)計(jì)說明:定義中斷處理延遲時(shí)間是系統(tǒng)中斷發(fā)生到中斷服務(wù)程序中首條指令開始 運(yùn)行之間的間隔所花費(fèi)的時(shí)間。在測試過程中,為了能夠測試系統(tǒng)中斷延遲時(shí)間的最差結(jié)果,可以選擇一些如系統(tǒng)調(diào)用等對中斷延遲有比較大影響作用的一系列因素,并使中斷服務(wù)程序綁定其對應(yīng)的中斷號,最后在程序的適當(dāng)位置插入測量控制代碼。如下面代碼2所示為一個(gè)用于測量中斷延遲的測試負(fù)載的偽代碼示例。代碼2"中斷服務(wù)程序Tas<GetTLmeTb); /蠶鞍開始執(zhí)行中斷厳務(wù)程序的時(shí)間t-Tb-Ta;才計(jì)算中斷延遲的大小,用Tb/Ta表示save0;/保存中斷延遲時(shí)伺/任務(wù)TASKi的開始/插入代碼開始Task Gct
14、Time(Ta; /獲取中斷脫務(wù)請求的時(shí)間/產(chǎn)生一忒中斷/描入詫碼結(jié)束代碼說明:代碼2中函數(shù)callnit是用于生成系統(tǒng)中斷, 實(shí)際過程中通常也采用軟中斷的方式。這里我們假設(shè)Ta是系統(tǒng)中斷請求開始的時(shí)間,Tb是系統(tǒng)中斷服務(wù)程序被調(diào)用進(jìn)行的時(shí)間,從而Tb-Ta的時(shí)間差就是中斷延遲。4 信號混洗時(shí)間測試測試說明:IPC機(jī)制性能測試主要測試以下時(shí)間:創(chuàng)建一個(gè)同步/互斥對象的時(shí)間,刪除一個(gè)同步/互斥對象的時(shí)間,獲取一個(gè)同步/互斥對象的時(shí)間,釋放一個(gè)同步/互斥對象的時(shí)間。獲取/釋放信號量通常指從釋放信號量到等待該信號量被重新激活所需要的時(shí)間間隔。測試 過程中,設(shè)計(jì)一個(gè)任務(wù)TASK1 ,該任務(wù)通過不斷獲取和釋放信號量來模擬信號量的任務(wù)同步
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 修車店合同范本
- 傾倒垃圾合同范本
- 買房購房合同范本
- 保險(xiǎn)返利合同范本
- 勞動(dòng)合同范本 社保
- 冰淇淋銷售合同范本
- 代理入金合同范本
- 債務(wù)還清合同范例
- 個(gè)人加工單人吊籃合同范本
- 24《京劇趣談》(第 2 課時(shí))教學(xué)設(shè)計(jì)-2024-2025學(xué)年六年級上冊語文統(tǒng)編版
- 學(xué)校裝飾裝修工程施工方案
- 2025屆東方電氣集團(tuán)校園招聘正式開啟筆試參考題庫附帶答案詳解
- DeepSeek科普學(xué)習(xí)解讀
- 2024年山東公務(wù)員考試申論試題(B卷)
- 2025年七下道德與法治教材習(xí)題答案
- 部編2024版歷史七年級下冊第二單元第12課《宋元時(shí)期經(jīng)濟(jì)的繁榮》檢測卷
- 家政服務(wù)員(母嬰護(hù)理員)五級模擬試題及答案
- 化工產(chǎn)品加工協(xié)議書范本
- 四年級數(shù)學(xué)(四則混合運(yùn)算帶括號)計(jì)算題專項(xiàng)練習(xí)與答案
- 2025年湖北省宏泰國有資本投資運(yùn)營集團(tuán)有限公司招聘筆試參考題庫附帶答案詳解
- 2024年中考語文(云南卷)真題詳細(xì)解讀及評析
評論
0/150
提交評論