uClinux操作系統(tǒng)的實時化分析與研究
4.2定時器的移植
如前面分析,對于一個實時操作系統(tǒng),必須有精確的計時。在i386體系結(jié)構(gòu)中,有時間標簽計數(shù)器TSC(Time Stamp Count),在S3C4510B處理器上沒有這個寄存器,可以采用計時器2(Timer1)來模擬TSC的功能。每來一個時鐘脈沖,Timer1的 TCNT1寄存器減1,減到零后產(chǎn)生時鐘中斷,再從TDATA1中讀TCNT1的值,往復運行。具體的做法是使用一個內(nèi)核的全局變量,每次時鐘中斷來以后,在Timer1的寄存器中讀出值,計算其增量,為了使系統(tǒng)更精確,必須將Timer1中斷設(shè)置為最高優(yōu)先級,這樣就可以模擬64位的TSC寄存器,從而得到當前的準確計時。
5.基于RTAI與μClinux的應(yīng)用程序的開發(fā)
編寫應(yīng)用程序時,將實時系統(tǒng)的應(yīng)用程序分為實時任務(wù)和非實時任務(wù)。實時任務(wù)是實時模塊,作為μClinux核心可加載模塊運行在核心態(tài)。它的設(shè)計應(yīng)盡可能簡單,僅包含那些有強實時要求的處理模塊,如實時數(shù)據(jù)采集、外部設(shè)備控制等。非實時任務(wù)是普通的μClinux進程,在用戶態(tài)執(zhí)行,完成大部分的數(shù)據(jù)處理、圖形顯示和通訊等任務(wù)。所有的實時任務(wù)均按照對實時性要求的高低來進行優(yōu)先級排隊,系統(tǒng)根據(jù)優(yōu)先級的高低來順序啟動各個實時任務(wù)。而位于用戶態(tài)的界面,當作一個背景程序來執(zhí)行。核心態(tài)的任務(wù)優(yōu)先級總是高于用戶態(tài)的界面任務(wù),且不能被其搶占。實時任務(wù)和非實時任務(wù)之間可通過FIFO隊列和共享內(nèi)存等方法通信。基于RTAI的μClinux應(yīng)用程序結(jié)構(gòu)圖如圖2所示。
實時系統(tǒng)的啟動和結(jié)束可以用一個Shell程序來執(zhí)行,它的功能是實現(xiàn)各任務(wù)模塊的加載和卸載,以及用戶界面的運行。Shell程序是介于使用者和操作系統(tǒng)的內(nèi)核程序間的一個界面,使用戶更為方便的使用操作系統(tǒng)。由于各個模塊之間具有相互依賴性,所以在加載和卸載各個模塊時按照一定的順序。首先要將 RTAI提供的實時模塊加載,包括rtai、rtai_sched、rtai_fifos和rtai_shm等模塊;然后裝入系統(tǒng)的各個實時模塊。卸載模塊的時候按照相反的順序依次卸載。實時系統(tǒng)的程序流程圖如圖3所示。
6.結(jié)束語
作者已將改造后的μClinux系統(tǒng)應(yīng)用在了江蘇省普通高校自然科學研究計劃資助項目“機房環(huán)境設(shè)備安全監(jiān)控軟件平臺的研制”等項目中,均取得了良好的效果,解決了μClinux在實時性方面的缺陷,滿足了設(shè)計要求。
本文作者創(chuàng)新點是:實現(xiàn)了RTAI在μClinux上的移植,形成了RTAI和μClinux相結(jié)合的雙內(nèi)核嵌入式系統(tǒng)運行方案,既滿足了嵌入式應(yīng)用的需求,又保證了系統(tǒng)的硬實時性。
參考文獻
[1]李俊平,梅洪,單家元.基于Linux的實時平臺的研究[J].微計算機信息,2005,21(7):21-23.
[2]林滸,蔡光起等.實時化的Linux系統(tǒng)及其實時性能的研究[J].小型微型計算機系統(tǒng),2004,25(8):1454-1457.
[3] WANG Y C, LIN K J. Implementing a general real-time frame-work in the RED-Linux real-time kernel [C]. IEEE Real-timeSystem Symposium, 1999.
[4] Raj Rajkumar, Kanaka Juvva, Anastasio Molano, et al. Resource kernel: A resource-centric approach to real-time and multimedia systems[C]. Proceedings of the SPIE/ACM Conference on Mul-timedia Computing and Networking, 1998.
[5]馬學文,朱名日等.uClinux操作系統(tǒng)實時性能的研究與實現(xiàn)[J].計算機工程與科學,2005,27(3):103-104.
[6]RTAI主頁[EB/OL].htp://www.rtai.org/.
評論