引 言
隨著計算機技術的迅速發展和芯片制造工藝的不斷進步,ERTOS的研究和應用日益廣泛,從民用的手機、電子書等手持移動設備到航空航天、醫學設備、工業控制等各個領域都有它的身影。然而,在設計和選擇ERTOS時,如何確定其是否能夠滿足所需的應用成為一個棘手的問題,必須用一種有效的方法對它們的各個方面進行對比測試,以選擇符合要求的系統。本文首先分析三種常用的系統實時性能測試方法,接著介紹一套測試實驗平臺,對于ERTOS的測試和分析有一定的指導意義。
1 Rheaostone方法
Rhealstone方法對ERTOS中六個關鍵操作的時間量進行測量,并將它們的加權和稱為Rhealstone數。這六個時間量如下:
◆任務切換時間(task switching time),也稱上下文切換時間,定義為系統在兩個獨立的、處于就緒態并具有相同優先級的任務之間切換所需要的時間。它包括三個部分,即保存當前任務上下文的時間、調度程序選中新任務的時間和恢復新任務上下文的時間。切換所需的時間主要取決于保存任務上下文所用的數據結構以及操作系統采用的調度算法的效率。
◆搶占時間(preemption time),即系統將控制從低優先級的任務轉移到高優先級任務所花費的時間。為了對任務進行搶占,系統必須首先識別引起高優先級任務就緒的事件,比較兩個任務的優先級,最后進行任務的切換,所以搶占時間中包括了任務切換時間。
◆中斷延遲時間(interrupt latency time),指從中斷第一條指令所持續的時間間隔.它由四部分組成,即硬件延遲部分(通?梢院雎圆挥)、ERTOS的關中斷時間、處理器完成當前指令的時間以及中斷響應周期的時間。
◆信號量混洗時間(semaphore shuffling time),指從一個任務釋放信號量到另一個等待該信號量的任務被激活的時間延遲。在ERTOS中,通常有許多任務同時競爭某一共享資源,基于信號量的互斥訪問保證了任一時刻只有一個任務能夠訪問公共資源。信號量混洗時間反映了與互斥有關的時間開銷,因此也是衡量ERTOS實時性能的一個重要指標。
◆死鎖解除時間(deadlock breaking time),即系統解開處于死鎖狀態的多個任務所需花費的時間。死鎖解除時間反映了RTOS解決死鎖的算法的效率。
◆數據包吞吐率(datagram throuShput time),指一個任務通過調用ERTOS的原語,把數據傳送到另一個任務去時,每秒可以傳送的字節數。
2 進程分派延遲時間法
進程分派延遲時間PDLT(Process Dispatcb LatencyTime)是另一個常用的測量ERTOS性能的方法。在實時系統中,實時任務總是等待外部事件引發的中斷來激活它。當一個中斷產生后,系統必須迅速停止當前運行的低優先級任務,將控制權交給被激活的實時任務。PDLT定義為從中斷的產生到由中斷激活的實時任務開始執行之間的時間間隔。這段間隔由幾個部分組成,如圖1所示。

不同操作系統中,PDLT差異的主要部分是內核延遲部分。目前絕大多數ERTOS為了減少內核延遲,采用可搶占式的內核,有效地提高了系統對外部事件的響應速度。
文章來源于領測軟件測試網 http://www.anti-gravitydesign.com/