Linux的實時性改造及測試
- 期刊名字:電子質(zhì)量
- 文件大?。?46kb
- 論文作者:劉彧,樊煒華,羅子明
- 作者單位:西安交通大學(xué)
- 更新時間:2020-09-03
- 下載次數(shù):次
試技術(shù)卷理論與研究TechnologyLi nux的實時性改造及測試Research and I nmpl enent at i on of Real-ti ee Li nux劉彧1,樊煒華2,羅子明3Liu Yu', Fan Wei-hua, Luo Zi ming1.西安交通大學(xué)機械工程學(xué)院陜西College of Mechanical Engineering, Xi'at西安710049;2.西安交通大學(xué)電子與Jiaotong University, Xi' an 710049, China: 2信息工程學(xué)院,陜西西安710049;3西安交通大學(xué)機械工程學(xué)院,陜西710049, China: 3. College of MechanicalEngineering, Xi'an Jiaotong UniDn西安710049710049, China)摘要:本文針對如何在有效利用 Li nux能夠方便地移植到不同應(yīng)用平臺的優(yōu)勢的同時使其能夠滿足實時應(yīng)用的翌求,對Linu-2.6.9核心進行了改造。首先,通過 RED Li nux9項目,在實時硬件抽象層(RTHL)上建立實時應(yīng)用借口(RTAI),在新內(nèi)核 Li nux-2.6.9-adeos上實現(xiàn)了RTAI,并進行了任務(wù)切換延遲、實時程序和普通程序三種測試最后對RTAI、 RTLI nu兩種改造方案進行了比較關(guān)鍵詞:實時; Li nux; RTHAL;RTAI; RTLi nux中圖分類號:TP316.2文獻標識碼:A文章編號:1003-0107(2007)05-0009-04Abstract: To make use of the advantage of being easily migrated on different application flatports of Linux, and satisfy the real-time demand as well, the real-time ability of Linux 2.6.9oved. Firstly, construct the RTHAL, on which the RTAI was based, and thenew kernel was tested by task-delay program, real-time program and user program. At last,the two methods of RTAl and RTLinux were comparedKey words: Real-time; LinuxCLC number: TP316.2Document code: A Article ID: 1003-0107(2007)05-0009-04引言第—, Li nux的核心進程是不時鐘中斷越頻繁。Linuⅹ通過對硬伴隨著科技不斷的日新月異推能被搶先的。即如果有Liηux的核件時鐘編程產(chǎn)生周期為100Hz的陳岀新,信息家電、手持設(shè)備、無線心態(tài)進程在運行時,其他進程不管時鐘中斷,仼務(wù)調(diào)度的時間精度最備等個性化設(shè)備的出現(xiàn),智能其優(yōu)先級多高都必須等待高能達到10ms,這無法滿足一些化、網(wǎng)絡(luò)化將會無所不在,所有這第二, Li nux的進程調(diào)度方式對時間精度要求苛刻的實時應(yīng)用些都離不開嵌入式軟件,而在嵌入不是完全搶占式的。但是在實時系式軟件中最核心的莫過于RTos統(tǒng)中,高優(yōu)先級的進程決不能等待2.2調(diào)度算法改進的缺陷( Re aI ti me Oper a t i ng低優(yōu)先級的進程用戶可以改變調(diào)度算法使實時Syst en實時操作系統(tǒng))1。由于第三,在系統(tǒng)調(diào)用中,為了保進程循環(huán)或定時被調(diào)用,并能鎖定全世界各地的 Li nux用戶和開發(fā)護臨界區(qū)資源, Li nux會長時間關(guān)內(nèi)存中的實時進程,從而使其頁面者的不斷努力, Li nux已成長為穩(wěn)掉中斷。這種情況在實時系統(tǒng)中是不被交換岀去。這兩種方法是定性高且性能優(yōu)異的操作系統(tǒng),開不允許發(fā)生的。POSI X.1b-1993標準的一部分,發(fā)一個基于 Li nux的開放式、標準第四, Li nux采取了“虛擬內(nèi)這個標準定義了實時進程,它也被化、高效亷價的實時操作系統(tǒng)是完存”的內(nèi)存管理方式。即LiηuX利Liηux采用。在新版的 Li nux中,全可行的。本文將在PC機上用兩用交換空間讓進程運行在一個比實系統(tǒng)調(diào)用提供了如下操作:鎖住內(nèi)種方法實現(xiàn)Linuⅹ操作系統(tǒng)的實際內(nèi)存大的虛擬內(nèi)存空間里。它使存中的用戶頁面;修改調(diào)度規(guī)則使時性改造得操作花費的時間具有不可預(yù)測基本進程具有特權(quán);對信號進行更性,在實時系統(tǒng)中是不允許的可靠的處理。但該標準不能解決所2. Li nux用于實時系統(tǒng)存在的第五,操作系統(tǒng)必須對時間精有的問題,其目標是實現(xiàn)所謂的軟問題度和時鐘中斷處理的時間開銷進2.1標準 Li nux的幾點制約2折中考慮,時間精度越高,意味著YH中國煤化工CNMHG·2007第05其EL ECTRONICS QUALITY毛子質(zhì)繭理論與研究測試技術(shù)卷3.有效的Linuⅹ實時性改造方4.RTAI的實現(xiàn)與測試max: 2273 average: -2410案4.1實現(xiàn)機制2005/061510:31:36min:-11790 3. 1 RTAIRTAI將 Li nux ker ne看作max:2729 average:-241RTAI修改了 Ii nux/arch/是一個空閑任務(wù),僅當(dāng)沒有實時任2005/061510:31:37min:-11791386中與體系結(jié)構(gòu)相關(guān)的代碼而多,且實時內(nèi)核處于空閑狀態(tài)時,m3079624形成了 RTHAL I層。 RTHAL對內(nèi)核執(zhí)行這個任務(wù)。 Linux任務(wù)不能阻2005/06/510:31:38min:-1179口的改動很小,這樣當(dāng)內(nèi)核版本升級塞中斷或阻止自己被剝奪max:3679x時,RTA的移植工作量就會比較亥機制的實現(xiàn)方法是用軟件模2005/061510:31:39min:-142小,而且也比較容易把RTAI移植擬中斷控制硬件。當(dāng)任何 Li nuxmax: 3679 average: -226UΦ到別的操作系統(tǒng)上。 RTHAL的作用碼試圖關(guān)閉中斷,實時系統(tǒng)截取并2005/061510:31:40min:-142是使RTAI能夠在實時任務(wù)需要運記錄它,并將其返回給nux,無mx079age:26∩行的任何時刻中斷 Li nux。引入論Lnux的狀態(tài)如何,當(dāng)一個中斷結(jié)果分析:在這個測試結(jié)果中RTAI后,Linuκ的功能沒有改變發(fā)生,實時內(nèi)核截荻這個中斷并決出現(xiàn)了負號是因為mn和mx被定但運行于最低優(yōu)先級下,當(dāng)無實時定分發(fā)到哪里。如果存在該中斷的義為 r t_ge t-time()103任務(wù)執(zhí)行時它才允許執(zhí)行。系統(tǒng)結(jié)實時處理函數(shù),則相應(yīng)的函數(shù)被調(diào) expect ed,它是反應(yīng)時間和期望構(gòu)圖如圖1。用,如果沒有,或者該處理函數(shù)要值的差值,負號表示比期望更快將此中斷分享給 Li nux,則中斷被正號表示比期望慢。在測試結(jié)果3.2 RTLi nux標為掛起。無論 Li nux運行在用戶中,平均值為負數(shù),說明總體的平RTLi nUx由新墨西哥大學(xué)的態(tài)或是內(nèi)核態(tài),開中斷還是關(guān)中均仼務(wù)切換延遲比期望的要短,也Vi ctor yoda ken等人開發(fā)的,斷,實時系統(tǒng)都可以響應(yīng)中斷。就是RTAI實現(xiàn)了實時性要求。是一個嚴格遵守 POSIX1003.13技術(shù)規(guī)范的硬實時操作系統(tǒng),主要4.2實現(xiàn)方法4.3.2測試方案二應(yīng)用于儀器設(shè)備和嵌入式系統(tǒng)。通值得注意的一點是需要有與內(nèi)編寫方波測試程序進行實驗過修改 Ii nux/arch/i386/下與核相對應(yīng)的RTAI補丁包。本文使用并口輸出方波到示波器可以直觀體系結(jié)構(gòu)有關(guān)的部分,在Linuⅹ與用的內(nèi)核為Linuⅹ-2.6.9,補丁地看到RTAI的實時效果。本文使硬件之間創(chuàng)建一個硬實時內(nèi)核。包為rtaj-3.1首先需要用兩種方波程序測試RTAI的實時Linuⅹ作為此內(nèi)核的一個優(yōu)先級 pat c h新內(nèi)核,然后在舊的配置基性:一種是實時程序;一種是普通低的任務(wù)運行。硬實時仼務(wù)都在硬礎(chǔ)上升級內(nèi)核配置。用戶程序。其中,實時程序.C需要實時內(nèi)核上運行,而所有非實時任有相應(yīng)的 MakefiLe文件,普通用務(wù)都在 Li nux上運行。 RTLi nux4.3測試及結(jié)果演示戶程序要用gcc編譯器編譯后再測的數(shù)據(jù)和控制流程見圖2。Linux[linux[實時實時4.3.1測試方案①實時程序測試使用RTAI-3.1自帶的測試編譯通過以后,將計算機與示Linux內(nèi)核程序。該程序能夠顯示任務(wù)切換最波器用并口連接起來,逐步執(zhí)行大延遲、最小延遲及平均值,毎秒 st ar t.sh的命令,在示波器上我實時內(nèi)核(RTAI)鐘輸出一次結(jié)果,具體演示如下:們將看到實時內(nèi)核得到穩(wěn)定的方波硬件抽象層( RTHAL)## RTAllatency calibration tool#輸出,然后我們給CPU加重負荷圖1 Linux/RTAI的系統(tǒng)結(jié)構(gòu)圖#period=100000(ns)可以使用 updat edb,也可以打開enfin,這時大家將會驚奇的Linuxcheck overall worst case發(fā)現(xiàn)方波頻率仍然穩(wěn)定!在測試工作中采集了50KHz的方波圖像,如Linux內(nèi)核RT進程圖3(a(見下頁),以及增加CPU實時內(nèi)核(RTAI#timer mode is oneshot負荷之后的方波圖像,如圖3(111(見下頁)。硬件中斷nax: 2273 average: -235中國煤化工測試圖2 RTLinux數(shù)據(jù)和控制結(jié)構(gòu)圖2005/06/510:31:35min:-11CNMHGect rectc子質(zhì)ELECTRONICS QUALITY·2007第05期·測試技術(shù)卷理論與研究Test Technology編譯該程序通過后,在示波器上同統(tǒng)在實時應(yīng)用中能夠保證實時任務(wù)樣出現(xiàn)方波,與實時程序不同的是的時間片,在系統(tǒng)分配資源時不會5.3測試結(jié)果比較當(dāng)我們使用 updat edb命令或者做受到其它進程的影響,起到了非實在進行性能測試時,我們采用打開一個文檔的動作時,方波將會時操作系統(tǒng)實時化的效果;而沒有軟件讀取定時計數(shù)器值的方法,在因為CPU當(dāng)前的負荷加重而跳躍,調(diào)用實時模塊的進程將會受到其它不同時刻讀取計數(shù)值,其差值即為甚至在不做任何動作時,方波也會進程的影響,不具有實時性。另外,測試數(shù)據(jù)。從中斷確認開始讀取定由于系統(tǒng)的一些后臺工作對資源的在測試過程中我們發(fā)現(xiàn),實時程序時計數(shù)值,操作系統(tǒng)進行進入中斷調(diào)用而不穩(wěn)定。受影響前后的方波所得到的方波的最大頻率可達的內(nèi)核系統(tǒng)調(diào)用,接著執(zhí)行服務(wù)程x圖像如圖4(a),圖4(b)。50KH,而普通程序所得到的方波序,在服務(wù)程序的第一條指令前再m結(jié)果分析:實時程序和普通程的最大頻率只有50Hz,也就是說讀取定時計數(shù)值,兩者之差即為中序的不同測試結(jié)果表明改造后的系實時程序可以以10u5/格的速度斷響應(yīng)時間。在多任務(wù)的情況下,輸出高低電平,而普通程序最快也執(zhí)行 RTLi nuⅹ操作系統(tǒng),結(jié)果為只有10m5/格。在實際的實時應(yīng)用7-9us。執(zhí)行 Li nux,其中斷響應(yīng)中,表現(xiàn)為實時任務(wù)切換能夠在很時間為490us·18π5。在單任務(wù)情短的延遲內(nèi)得到響應(yīng)。這就達到了況下,執(zhí)行 RTLi nux,中斷響應(yīng)時:11實時操作系統(tǒng)的要求。間為4-7u5,執(zhí)行 Li nux,其中斷響應(yīng)時間為4-9us6。5. RTLi nux的實現(xiàn)與測試從測試結(jié)果可以看出,在單任1 RTI nux的實現(xiàn)機制務(wù)情況下,體現(xiàn)不出 RTLi nux與圖3(a)50KH的實時程序方波采用 Li nux標準內(nèi)核與 Li nux在中斷響應(yīng)時間上的差距RTLi nUX的實時內(nèi)核相結(jié)合,由但在多任務(wù)情況下,從測試得到的實時內(nèi)核提供時間保證,標準內(nèi)核數(shù)據(jù)來看,二者的差距非常明顯提供擴展功能,即可實現(xiàn)基于這表明了 RTLI nUx采用雙核機制Li nux的實時操作系統(tǒng)。 RTLi nuⅹ和實時調(diào)度算法,能提供很好的實通過一個高效的、可搶先的實時調(diào)時性。度核心來全面接管中斷,并把Lⅰnux作為此實時核心的一個優(yōu)6. RTLi nux與RTA的比較圖3(b)打開 openfile后的實時先級最低的進程運行。當(dāng)有實時任RT- Li nux屬于硬實時,將程序方波務(wù)需要處理時, RTLi nux運行實 Li nux內(nèi)核設(shè)計為可被搶占的,主時任務(wù);無實時任務(wù)時, RTLi nux要方法是實現(xiàn)一個實時內(nèi)核負責(zé)處運行 Li nux的非實時進程理硬件消息,接管中斷,實時任務(wù)RTLi nux傷真了 Li nux內(nèi)核的中可在該內(nèi)核上直接運行。RTAI的斷控制器。這樣即使在被CPU中技術(shù)實現(xiàn)類似,但更成熟和完善。斷,同時 Li nux內(nèi)核請求被取消的RTAI和 RT-Li nux最大的不情況下,關(guān)鍵的實時中斷也能夠保同地方在于它適當(dāng)?shù)脑贚ⅰnuⅹ上定圖4(a)50Hz的普通程序方波持激活義了一組 RTHAL。 RTHAL將RTAI需要在Linuⅹ中修改的部份定義成5.2實現(xiàn)方法組程序界面,RTAI只使用這組界將 RTI nux-3.1 Pat ch到面和 Li nux溝通。這樣,可以把對小型化的Linuⅹ-2.4.4內(nèi)核上,內(nèi)核源碼樹的改動降低到可以控制重新編譯內(nèi)核,將內(nèi)核配置為支持的程度,將直接修改Linuⅹ內(nèi)核的多線程,支持硬實時,支持加載模程序代碼減至最小,其優(yōu)點是盡量塊,形成—個新的具有實時性能的減少RTAI移植到新版 Li nux的工核心。這樣,一個具有實時操作系作量。提供了更多的實時通信機制,圖4(b)打開 open i Ie后的普通統(tǒng)特征的軟件開發(fā)平臺就搭建起來中國煤化工。re、實時程序方波了HCNMHGue等IPC機·2007第05其EL ECTRONICS QUALITY毛子質(zhì)理論與研究測試技術(shù)卷制,實時任務(wù)和非實時任務(wù)都可以人電腦設(shè)計的操作系統(tǒng),可以免費南[M·北京:中國電力出版社,2002調(diào)用。并且用戶態(tài)進程也有相應(yīng)的分發(fā),并且兼容Unix,已經(jīng)受到越[2]漆昭玲.基于 Power PC的嵌入⊙調(diào)用來與之通信。在 Li nux內(nèi)核上來越多用戶的重視和歡迎,成為版社,2004式 Li nux[M.北京:北京航空航天大學(xué)出以較小的改動,提供了接口,而把 W ndow操作系統(tǒng)之外的一個[3]于旭,基于 Li nux的實時內(nèi)核實時調(diào)度和實時1Pc機制都用內(nèi)核有發(fā)展前途的操作系統(tǒng):而MRTAI的實現(xiàn)機制研究[].網(wǎng)絡(luò)與信息,5 pdu e來實現(xiàn)dows Nt只部分兼容POSIⅩ10034] Terre Haut e, Fedor a Core 3-實時規(guī)范,在實時領(lǐng)域使用的并不6. 9-adeos HoC CP]. htt p://vw cSx7.結(jié)論多,所以將實時性與 Li nux操作系rose- hul man.edu/,2005,1實時操作系統(tǒng)在計算機應(yīng)用的統(tǒng)相結(jié)合具有非常重要的意義。通[5] Rober t Kr ohn RtLi nux HowOo∽ooΦ許多重要領(lǐng)域起著不可替代的作過這項技術(shù)研究,不僅摸索出了實[cp].http://wwwfsmabscond,2005[6]夏一民,羅軍,鄧勝蘭,實時用。這些領(lǐng)域?qū)γ總€關(guān)鍵任務(wù)所用時性能更好的改進方案,同時也為Lnux操作系統(tǒng)初探[J].計算機應(yīng)用研∩的最長時間都有著嚴格的要求,只嵌入式操作系統(tǒng)實時性研究和多平究,200有采用實時操作系統(tǒng)才能夠保證關(guān)臺移植提供了工作基礎(chǔ)和一些理論●鍵任務(wù)能在規(guī)定的時間內(nèi)完成。這依據(jù)。◆12ξ些應(yīng)用的需求極大的促進了實時操參考文獻作系統(tǒng)的發(fā)展。Linuⅹ作為普通個1]唐寅.實時操作系統(tǒng)應(yīng)用開發(fā)指大大大大大上接08頁_5源信號手槍機槍火炮輪式車輛坦克分離信號()參考文獻0.98040.1941-0.00320.07100.0121-00232sour ce separ at i on-sem par aretri c0.81310.01010.48630.04740.2747st at i sti cal appr oach [J]. IEEE Transon si gnal Pr ocessi ng, 1997, 45(11)0.002-0.04590.00110.07010.99710.0232692-2700.2] Anari S,et al. A new I earn ng(a)多目標聲信號al gor i t hm f or bl i nd separ at i on ofsour ces[Al. Advance源信號坦克1旦克3坦克5I nf or mat i on Pr ocessi ng, 8[ C]. MT分離信號Pr ess, Cambri ge, 1996, 757-7630.9385[3] A Bel I and0.04620.0625-0.8360.0383i nf or nat i on- rmaxi m zat i on appr oach0.1125890.1603001240.97940.35840.75580.05310.19920.51280.1069bl i nd separ ation and bl i nd0.04360.06720.99580.03720.00480.0387deconvol ut i on, Neur al Comput., vol. 70.09140.092800393-0.9796006930.1342(b)不同坦克聲信號源信號直聲機1直聲機2直聲機3直聲機4直聲機5直聲機60.0330.02480.7417-0.02370.668303464-0.11240.02220.2378-0.9040.0366y(0)06862001840.032405930.4229001730.04900.98080.00840.0225-0.18840.0191ys(O)0.0010.0642-0.10430.05330019209923Y(D0.6074-0.07730.00640.79830.04810.0255(c)不同直聲機聲信號表1源信號和分離信號相關(guān)系數(shù)H中國煤化工CNMHG子質(zhì)LECTRONICS QUALITY·2007第05期·
-
C4烯烴制丙烯催化劑 2020-09-03
-
煤基聚乙醇酸技術(shù)進展 2020-09-03
-
生物質(zhì)能的應(yīng)用工程 2020-09-03
-
我國甲醇工業(yè)現(xiàn)狀 2020-09-03
-
石油化工設(shè)備腐蝕與防護參考書十本免費下載,絕版珍藏 2020-09-03
-
四噴嘴水煤漿氣化爐工業(yè)應(yīng)用情況簡介 2020-09-03
-
Lurgi和ICI低壓甲醇合成工藝比較 2020-09-03
-
甲醇制芳烴研究進展 2020-09-03
-
精甲醇及MTO級甲醇精餾工藝技術(shù)進展 2020-09-03




