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