国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

嵌入式操作系統(tǒng)實(shí)時(shí)性比對與評價(jià)

發(fā)布時(shí)間:2010-9-25 23:08    發(fā)布者:eetech
嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS,Real Time Operating System)為嵌入式應(yīng)用的開發(fā)者提供了系統(tǒng)級的支撐環(huán)境,極大地簡化了嵌入式軟件系統(tǒng)的設(shè)計(jì)過程,成為操作系統(tǒng)中一個(gè)非常重要的分支。隨著RTOS在嵌入式系統(tǒng)中的大量應(yīng)用,RTOS的選擇與評價(jià)成為了一個(gè)重要的問題。一個(gè)RTOS的評價(jià)要從很多角度進(jìn)行,如體系結(jié)構(gòu)、API的豐富程度、網(wǎng)絡(luò)支持、可靠性等。其中,實(shí)時(shí)性是RTOS評價(jià)的最重要的指標(biāo)之一,實(shí)時(shí)性的優(yōu)劣是用戶選擇操作系統(tǒng)的一個(gè)重要參考。評價(jià)一個(gè)操作系統(tǒng)的實(shí)時(shí)性應(yīng)該著重考察它的哪些指標(biāo),以及如何進(jìn)行測試,是本文著重討論的問題。

1 操作系統(tǒng)實(shí)時(shí)性的主要指標(biāo)

嚴(yán)格地說,影響嵌入式操作系統(tǒng)實(shí)時(shí)性的因素有很多。限于篇幅,本文只列出影響操作系統(tǒng)實(shí)時(shí)性的6個(gè)主要因素。

(1)常用系統(tǒng)調(diào)用平均運(yùn)行時(shí)間

即系統(tǒng)調(diào)用效率,是指內(nèi)核執(zhí)行常用的系統(tǒng)調(diào)用所需的平均時(shí)間?梢詤⒖糚OSIX標(biāo)準(zhǔn),按照進(jìn)程、線程、同步原語(信號量和互斥體等)、文件、內(nèi)存、中斷處理、時(shí)鐘、時(shí)間分類,選取部分常用的系統(tǒng)調(diào)用進(jìn)行測試,如建立/刪除進(jìn)程與線程、建立/刪除文件、讀/寫文件、設(shè)置/得到優(yōu)先級、創(chuàng)建/釋放信號量、分配/釋放內(nèi)存空間、加載/卸載中斷處理模塊等。選取的樣本不可能十分完整,在這里只是作為一種方法提出,僅供參考。

(2)任務(wù)切換時(shí)間

任務(wù)切換時(shí)間是指事件引發(fā)切換后,從當(dāng)前任務(wù)停止運(yùn)行、保存運(yùn)行狀態(tài)(CPU寄存器內(nèi)容),到裝入下一個(gè)將要運(yùn)行的任務(wù)狀態(tài)、開始運(yùn)行的時(shí)間間隔,如圖1所示。



圖1 任務(wù)切換時(shí)間

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

(3)線程切換時(shí)間

線程是可被調(diào)度的最小單位。在嵌入式系統(tǒng)的應(yīng)用系統(tǒng)中,很多功能是以線程的方式執(zhí)行的,所以線程切換時(shí)間同樣是考察的一個(gè)要點(diǎn)。測試方法及原理與任務(wù)切換類似,不再介紹。

(4)任務(wù)搶占時(shí)間

任務(wù)搶占時(shí)間是高優(yōu)先級的任務(wù)從正在運(yùn)行的低優(yōu)先級任務(wù)中獲得系統(tǒng)控制權(quán)所消耗的時(shí)間,如圖2所示。



圖2 任務(wù)搶占時(shí)間

(5)信號量混洗時(shí)間

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



圖3 信號量混洗時(shí)間

在嵌入式系統(tǒng)中,通常有許多任務(wù)同時(shí)競爭某一共享資源,基于信號量的互斥訪問保證了任一時(shí)刻只有一個(gè)任務(wù)能夠訪問公共資源。信號量混洗時(shí)間反映了與互斥有關(guān)的時(shí)間開銷,是RTOS實(shí)時(shí)性的一個(gè)重要指標(biāo)。

(6)中斷響應(yīng)時(shí)間

中斷響應(yīng)時(shí)間是指從中斷發(fā)生到開始執(zhí)行用戶的中斷服務(wù)程序代碼來處理該中斷的時(shí)間。中斷處理時(shí)間通常不僅由RTOS決定,而且還由用戶的中斷處理程序決定,所以不應(yīng)包括在測試框架之內(nèi)。

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

2 比對平臺及測試方法

2.1 比對測試平臺介紹

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



圖4 比對測試平臺的邏輯結(jié)構(gòu)

下面列出的是比對平臺中主要的硬件型號與種類。
CPU:XScale (400 Hz)。時(shí)鐘:HT1381。
ROM:1 MB AMD。SDRAM:64 MB。Flash:32 MB。I/O資源:包含RS232(COM1~4),RS485(COM5),2個(gè)USB Host和1個(gè)USB Client,Ethernet DM9000.10/100 basedT,以及AMI120擴(kuò)展總線接口。

2.2 測試與計(jì)時(shí)方法

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

與通常的基準(zhǔn)測試方法相比較,本測試方法的特點(diǎn)是采用CPLD器件與測試程序相結(jié)合的方法,利用CPLD與開發(fā)板上豐富的引腳資源,通過CPLD進(jìn)行編程,可方便地對被測試系統(tǒng)產(chǎn)生中斷負(fù)載、同步觸發(fā),而且不會增加被測系統(tǒng)的額外負(fù)載。同時(shí),減少系統(tǒng)調(diào)用的次數(shù),使測試結(jié)果更加精確,更接近內(nèi)核自身的運(yùn)行值。

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



圖5 CPLD測試、計(jì)時(shí)方法

整個(gè)測試過程主要分為4部分:準(zhǔn)備工作,內(nèi)核測試程序編程,CPLD編程,與外界交互部分的實(shí)現(xiàn)。準(zhǔn)備工作包括編譯內(nèi)核、修改Bootloader等,Bootloader通過對i?boot?lite?1.8進(jìn)行修改,使其可應(yīng)用于比對平臺上;內(nèi)核測試程序按照前面所提到的6個(gè)指標(biāo),劃分為6個(gè)模塊,分別編寫;CPLD編程主要包括計(jì)時(shí)程序、中斷負(fù)載加載程序等;外界交互部分主要包括串口通信、以太網(wǎng)卡驅(qū)動。下面是部分CPLD上的VHDL程序源碼。其中,fenpin為時(shí)鐘頻率,flagreci為接收信號;當(dāng)使用按鍵人工控制時(shí),flagsend和flagstop為計(jì)時(shí)開始和結(jié)束。



測試程序的代碼較多,這里不一一列出,僅給出程序中嵌入的與CPLD交互的部分代碼片段供參考。




代碼的前段定義了相關(guān)寄存器的地址,在測試過程中,使用PXA255的GPIO3引腳與CPLD交互,實(shí)現(xiàn)計(jì)時(shí)功能。由于需要在內(nèi)核態(tài)運(yùn)行,故該函數(shù)作為一個(gè)模塊編譯進(jìn)內(nèi)核,測試程序中通過ioctl系統(tǒng)調(diào)用執(zhí)行此段代碼,將信號發(fā)送給CPLD,CPLD計(jì)算2次信號的間隔時(shí)間,實(shí)現(xiàn)計(jì)時(shí)功能。

3 Linux、WinCE的測試結(jié)果及分析

根據(jù)上述指標(biāo)體系及測試方法,我們對Linux和WinCE進(jìn)行了相關(guān)的測試。其中,Linux版本為2.4.19,WinCE版本為WinCE.Net。由于當(dāng)硬件平臺與運(yùn)行環(huán)境不同時(shí),即使同一內(nèi)核運(yùn)行時(shí)體現(xiàn)的性能指標(biāo)也會不同,所以對不同RTOS的評測只有在相同平臺環(huán)境下進(jìn)行比對才有其價(jià)值,測試以評價(jià)為目標(biāo),評價(jià)以比對為依據(jù)。表1是對上述兩種內(nèi)核的評測結(jié)果。由于篇幅所限,這里只列出了平均時(shí)間,最大、最小值沒有列出。

表1 Linux和WinCE比對評測結(jié)果指標(biāo)



從表1中可以看出,在任務(wù)切換時(shí)間、線程切換時(shí)間、系統(tǒng)調(diào)用平均運(yùn)行時(shí)間幾項(xiàng)指標(biāo)中,Linux2.4.19和WinCE.Net相差不大;但在任務(wù)搶占時(shí)間、信號量混洗時(shí)間、中斷響應(yīng)時(shí)間幾項(xiàng)指標(biāo)中,WinCE.Net明顯優(yōu)于Linux2.4.19?偟膩碚f,WinCE.Net的實(shí)時(shí)性優(yōu)于Linux2.4.19。下面從兩種操作系統(tǒng)的特點(diǎn)、內(nèi)部實(shí)現(xiàn)機(jī)制等方面來解釋說明上述測試結(jié)果。

Linux與WinCE均允許不同進(jìn)程的優(yōu)先級相同,這一點(diǎn)不同于μC/OS等實(shí)時(shí)內(nèi)核(μC/OS中每個(gè)任務(wù)的優(yōu)先級唯一),所以采用的調(diào)度算法都是搶占式和時(shí)間片輪轉(zhuǎn)的混和式調(diào)度策略。因此,在同優(yōu)先級的進(jìn)程切換時(shí),二者指標(biāo)相差不大。

測試中使用的Linux2.4.19并非是為嵌入式實(shí)時(shí)系統(tǒng)設(shè)計(jì)的專用操作系統(tǒng),只是對原有的通用內(nèi)核進(jìn)行了一定的裁剪;而WinCE.Net雖然也不是一個(gè)嚴(yán)格意義上的實(shí)時(shí)內(nèi)核,但卻是專門為嵌入式系統(tǒng)設(shè)計(jì)的。所以,在任務(wù)搶占和中斷響應(yīng)方面,WinCE要顯著強(qiáng)于Linux。另外,Linux2.4.19在內(nèi)核級并不支持搶占,這也是它的搶占時(shí)間大于WinCE的一個(gè)主要原因。不過,這一點(diǎn)在2.6版本的Linux內(nèi)核中已經(jīng)得到了解決。

系統(tǒng)調(diào)用效率上,WinCE.Net要優(yōu)于Linux2.4.19,但是Linux的系統(tǒng)調(diào)用更加符合POSIX標(biāo)準(zhǔn),更加規(guī)范,而且更加開放。

綜上所述,在對實(shí)時(shí)性要求較高的嵌入式系統(tǒng)中,WinCE.Net要比Linux2.4.19更加適用,并且WinCE.Net在開發(fā)類桌面系統(tǒng)中繼承了微軟的一貫優(yōu)勢,使得開發(fā)更加容易。但是,如果系統(tǒng)的實(shí)時(shí)性要求不高,Linux也許是更合適的選擇,因?yàn)槭褂盟梢越档统杀荆⑶彝耆珜τ脩敉该,便于修改定制。若想使用Linux作為操作系統(tǒng)開發(fā)實(shí)時(shí)性要求較高的系統(tǒng),則應(yīng)對其做適當(dāng)?shù)膶?shí)時(shí)性改造,或者直接使用已經(jīng)過實(shí)時(shí)改造的Linux內(nèi)核,如RTLinux等。

4 總結(jié)與展望

本文介紹的測試方法與傳統(tǒng)的純軟件測試方法相比,具有精度高、易于比對的特點(diǎn),且測試的復(fù)雜度并沒有顯著地增加;與單純的硬件測試方法相比,具有性價(jià)比高、需要設(shè)備少、擴(kuò)展性強(qiáng)等特點(diǎn),且測試精度差別不大,但功能不如邏輯分析儀、示波器等專用硬件設(shè)備強(qiáng)大。本文介紹的嵌入式操作系統(tǒng)實(shí)時(shí)性指標(biāo)體系還有著較大的完善和擴(kuò)展空間,每一個(gè)指標(biāo)都可以進(jìn)一步細(xì)化。若能在不同的負(fù)載條件下利用本文的測試方法進(jìn)一步測試,則可使得測試結(jié)果更加全面客觀。
本文地址:http://www.qingdxww.cn/thread-29103-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • 想要避免發(fā)生災(zāi)難,就用MPLAB SiC電源仿真器!
  • Cortex-M4外設(shè) —— TC&TCC結(jié)合事件系統(tǒng)&DMA優(yōu)化任務(wù)培訓(xùn)教程
  • 深度體驗(yàn)Microchip自動輔助駕駛應(yīng)用方案——2025巡展開啟報(bào)名!
  • 你仿真過嗎?使用免費(fèi)的MPLAB Mindi模擬仿真器降低設(shè)計(jì)風(fēng)險(xiǎn)
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: h视频免费高清在线观看 | 91短视频在线观看免费 | 日韩一级欧美一级 | 国产日产欧产麻豆精品精品推荐 | 啦啦啦www高清在线观看影院 | 99精品视频在线成人精彩视频 | 国产视频二 | 免费毛片a线观看 | 久久国产成人午夜aⅴ影院 久久国产成人精品麻豆 | 久久国产免费福利资源网站 | 成人免费午夜视频 | 国产成人亚洲精品大帝 | 日韩精选在线 | 国产精品高清久久久久久久 | 香蕉网在线视频 | 在线观看亚洲一区 | 国产黄色福利 | 欧美成人高清手机在线视频 | 日本一区二区三区不卡在线视频 | 国产自线一二三四2021 | 国产区精品福利在线观看精品 | 91视频色 | 狠狠色丁香婷婷久久综合不卡 | 日韩免费视频观看 | 91av中文| 欧美一区二区精品系列在线观看 | 一区二区三区日韩精品 | 99热这里只有精品国产免费 | 国产黄a三级三级三级 | 国产成人久久精品激情91 | 色视频免费观看高清完整 | 变态 调教 视频 国产九色 | 国产精品99久久久 | 日韩欧美国产高清在线观看 | 免费国产在线观看 | 精品一区二区三区在线观看l | 日韩在线观看视频黄 | 精品欧美一区二区三区精品久久 | 中文字幕免费观看视频 | 欧洲免费在线视频 | 国产女人18一级毛片视频 |