欧美日韩精品在线-无码成人精品区一级毛片-中文一级片-jizzjizz亚洲-综合伊人久久-国产精品一区在线播放-日韩国产综合-国产精品国产三级国产aⅴ原创-亚洲夜夜操-日本亚洲视频-亚州一级-www久久精品-国产精品第-午夜时刻免费入口-欧美亚洲精品在线观看-97高清国语自产拍-超碰女-欧美暧暧视频-99福利在线观看-草草影院在线-成人高潮视频-夜夜摸夜夜操-搞av.com-亚洲开心激情网-黄色网页免费在线观看

寧波市鄞州首南恒宇激光雕刻廠

嵌入式操作系統實時性比對與評價
分享到:


引言

嵌入式實時操作系統(RTOS,Real Time Operating System)為嵌入式應用的開發者提供了系統級的支撐環境,極大地簡化了嵌入式軟件系統的設計過程,成為操作系統中一個非常重要的分支。隨著RTOS在嵌入式系統中的大量應用,RTOS的選擇與評價成為了一個重要的問題。一個RTOS的評價要從很多角度進行,如體系結構、API的豐富程度、網絡支持、可靠性等。其中,實時性是RTOS評價的最重要的指標之一,實時性的優劣是用戶選擇操作系統的一個重要參考。評價一個操作系統的實時性應該著重考察它的哪些指標,以及如何進行測試,是本文著重討論的問題。

1、操作系統實時性的主要指標

嚴格地說,影響嵌入式操作系統實時性的因素有很多。限于篇幅,本文只列出影響操作系統實時性的6個主要因素。

(1)常用系統調用平均運行時間

即系統調用效率,是指內核執行常用的系統調用所需的平均時間。可以參考POSIX標準,按照進程、線程、同步原語(信號量和互斥體等)、文件、內存、中斷處理、時鐘、時間分類,選取部分常用的系統調用進行測試,如建立刪除進程與線程、建立刪除文件、讀寫文件、設置得到優先級、創建釋放信號量、分配釋放內存空間、加載卸載中斷處理模塊等。選取的樣本不可能十分完整,在這里只是作為一種方法提出,僅供參考。

(2)任務切換時間

任務切換時間是指事件引發切換后,從當前任務停止運行、保存運行狀態(CPU寄存器內容),到裝入下一個將要運行的任務狀態、開始運行的時間間隔,如圖1所示。

圖1 任務切換時間
需要注意的是,要使任務進行切換,需要一定的事件觸發。通常,這個事件是同步原語,使任務切換,并且過程可被監控。但是,同步原語的操作會帶來一定的系統開銷,而且不同操作系統的各種同步原語操作效率不同。因此,對被測操作系統使用其支持的各種同步原語進行任務切換測試,選取各自用時最少者——這里稱為“最佳原語”,作為測量值,以使誤差最小。經過對Mutex、Semaphore、Critical Section、SVR5 Semaphore、POSIX Semaphore、pthread_mutex的測試之后,測得WinCE的最佳原語為Critical Section,而Linux的最佳原語為 pthread_mutex。

(3)線程切換時間

線程是可被調度的最小單位。在嵌入式系統的應用系統中,很多功能是以線程的方式執行的,所以線程切換時間同樣是考察的一個要點。測試方法及原理與任務切換類似,不再介紹。

(4)任務搶占時間

任務搶占時間是高優先級的任務從正在運行的低優先級任務中獲得系統控制權所消耗的時間,如圖2所示。

圖2 任務搶占時間
(5)信號量混洗時間

信號量混洗時間指從一個任務釋放信號量到另一個等待該信號量的任務被激活的時間延遲,如圖3所示。

圖3 信號量混洗時間
在嵌入式系統中,通常有許多任務同時競爭某一共享資源,基于信號量的互斥訪問保證了任一時刻只有一個任務能夠訪問公共資源。信號量混洗時間反映了與互斥有關的時間開銷,是RTOS實時性的一個重要指標。

(6)中斷響應時間

中斷響應時間是指從中斷發生到開始執行用戶的中斷服務程序代碼來處理該中斷的時間。中斷處理時間通常不僅由RTOS決定,而且還由用戶的中斷處理程序決定,所以不應包括在測試框架之內。

針對這些指標的部分或全部,已經有了為數不少的測試方法和測試程序,例如Rhealstone方法,大量的benchmark(lmbench、HbenchOS等)。但這些測試方法及程序或者是由于計時方法的不足導致計時精度不夠,或者是由于需要過多的專業硬件設備(如邏輯分析儀、示波器,等),使得測試要求過高,測試條件不易達到,均存在著一定的缺陷。針對這些問題,本文中提出了一種基于CPLD與目標系統結合的測試方法,較好地解決了這些問題。

2、比對平臺及測試方法

2.1 比對測試平臺介紹

為了更好地對嵌入式系統中各層次的軟件系統(包括操作系統、Bootloader、用戶應用程序以及其他系統程序)進行評測,我們設計并實現了雙嵌入式系統比對實驗平臺。實驗平臺以2塊研華PCM7230開發板(基于PXA255處理器)和1個CPLD器件為核心,開發板上運行被測操作系統,保證了測試環境的完全相同;CPLD器件負責產生中斷負載、雙系統的同步置位復位觸發與計時功能,保證了測試結果的精確,并且易于比對、觀察,突出評測過程比對的特點。圖4是比對測試平臺的邏輯結構。

圖4 比對測試平臺的邏輯結構
下面列出的是比對平臺中主要的硬件型號與種類。

◇ CPU:XScale (400 Hz)。
◇ 時鐘:HT1381。
◇ ROM:1 MB AMD。
◇ SDRAM:64 MB。
◇ Flash:32 MB。
◇ IO資源: 包含RS232(COM1~4),RS485(COM5),2個USB Host和1個USB Client,Ethernet DM9000.10100 basedT,以及AMI120擴展總線接口。

2.2 測試與計時方法

在測試過程中,采用當前比較流行的基準測試程序法(benchmark)對上述實時性指標進行評測。針對每一指標,編寫相應的測試程序。在測試過程中,一個最基本原則是盡可能地減小測量誤差,采用多種策略減小其他因素對測試的影響,例如關閉內核中部分不需要的進程,以縮短內核占用CPU時間;禁用數據Cache和指令Cache,以避免高速緩存對RTOS相應指標的影響;對同一指標進行高頻度重復測試,統計其最大值、最小值和平均值等,得到盡可能客觀的結果。

與通常的基準測試方法相比較,本測試方法的特點是采用CPLD器件與測試程序相結合的方法,利用CPLD與開發板上豐富的引腳資源,通過CPLD進行編程,可方便地對被測試系統產生中斷負載、同步觸發,而且不會增加被測系統的額外負載。同時,減少系統調用的次數,使測試結果更加精確,更接近內核自身的運行值。

另外,測試過程的計時功能通過CPLD編程實現,與傳統的利用RTOS內核的時間系統調用計時方式相比,解決了不同操作系統系統調用返回值精度不夠、單位不統一的問題。由于比對平臺中的CPLD器件選用的是Xilinx公司的XC9500系列,其最高系統時鐘頻率為100 MHz,引腳到引腳的最大時延為10 ns,因此實現的計數器計時精度可以達到數十ns,幾乎可以忽略不計,極大提高了計時精度,如圖5所示。

聯系我們

地址: 浙江省.寧波市鄞州區寧姜公路(九曲小區二期旁)

郵編: 315040

聯系人: 盛立峰

電話: 0574-87139378

傳真: 0574-87139378

手機: 13867861670

郵箱: 85400329@qq.com

聯系我們