Linux實時化解決方案Xenomai的原理及應(yīng)用
Xenomai的核心技術(shù)表現(xiàn)為使用一個實時微內(nèi)核(real-time nucleus)來構(gòu)建這些實時API,也稱作"skin".在實時核復(fù)用的基礎(chǔ)上,一個skin可以很好地模擬一種實時操作系統(tǒng)的API.它的結(jié)構(gòu)圖可以參考圖2.
圖2中,Native是Xenomai自帶的API,各類API都有著同等的地位,都獨立地基于同一個實時微內(nèi)核。這樣做可以讓內(nèi)核的優(yōu)點被外層所有的API很好地繼承下來。更重要的是,實時微內(nèi)核提供的服務(wù)被外層各種API以不同的方式表現(xiàn)出來,由此可以增強整個系統(tǒng)的強壯性。
編制實時程序時,在很多實時操作系統(tǒng)上只能在內(nèi)核層實現(xiàn);而編制實時內(nèi)核模塊時,會受到內(nèi)核的限制,比如有些實時內(nèi)核不支持浮點運算,模塊出錯時容易使整個系統(tǒng)掛起,而且內(nèi)核模塊的調(diào)試比較困難。Xenomai能夠支持較好的用戶層實時,這為編制實時性要求不是非常高的實時程序提供了一個有效途徑。下面這個用戶層實時例程使用的是Xenomai提供的Native API:
從程序中可以看出,Xenomai的用戶層實時程序的周期可以輕易地設(shè)定到μs級,所以它完全可以適用于一般實時性要求的工程應(yīng)用。
3 總 結(jié)
本文首先簡單介紹了實時操作系統(tǒng),分析了Linux 2.6內(nèi)核實時性能的不足;然后著重介紹了一個Linux實時化的解決方案--Xenomai,分析了Xenomai的Adeos構(gòu)架基礎(chǔ),簡要說明了Xenomai用戶層實時的實現(xiàn),以及Xenomai支持多種實時操作系統(tǒng)的API的新特點。Linux 2.6.35 Kernel引入了針對Radeon KMS開源顯卡驅(qū)動的ATI電源管理支持、新款I(lǐng)ntel GMA整合芯片組的Intel H.264 VA-API視頻加速支持、Radeon DRI2同步和交換功能、Btrfs文件系統(tǒng)改進、網(wǎng)絡(luò)傳入負載處理器核心分布的RPS和RFS支持等等。
本文給出的Xenomai的用戶層實時例程已經(jīng)成功地在多個平臺上運行過,表明Xenomai用戶程序在多種硬件平臺上有很好的移植性。
linux相關(guān)文章:linux教程
評論