Linux實(shí)時(shí)化解決方案Xenomai的原理及應用
Xenomai的核心技術(shù)表現為使用一個(gè)實(shí)時(shí)微內核(real-time nucleus)來(lái)構建這些實(shí)時(shí)API,也稱(chēng)作"skin".在實(shí)時(shí)核復用的基礎上,一個(gè)skin可以很好地模擬一種實(shí)時(shí)操作系統的API.它的結構圖可以參考圖2.

圖2中,Native是Xenomai自帶的API,各類(lèi)API都有著(zhù)同等的地位,都獨立地基于同一個(gè)實(shí)時(shí)微內核。這樣做可以讓內核的優(yōu)點(diǎn)被外層所有的API很好地繼承下來(lái)。更重要的是,實(shí)時(shí)微內核提供的服務(wù)被外層各種API以不同的方式表現出來(lái),由此可以增強整個(gè)系統的強壯性。
編制實(shí)時(shí)程序時(shí),在很多實(shí)時(shí)操作系統上只能在內核層實(shí)現;而編制實(shí)時(shí)內核模塊時(shí),會(huì )受到內核的限制,比如有些實(shí)時(shí)內核不支持浮點(diǎn)運算,模塊出錯時(shí)容易使整個(gè)系統掛起,而且內核模塊的調試比較困難。Xenomai能夠支持較好的用戶(hù)層實(shí)時(shí),這為編制實(shí)時(shí)性要求不是非常高的實(shí)時(shí)程序提供了一個(gè)有效途徑。下面這個(gè)用戶(hù)層實(shí)時(shí)例程使用的是Xenomai提供的Native API:

從程序中可以看出,Xenomai的用戶(hù)層實(shí)時(shí)程序的周期可以輕易地設定到μs級,所以它完全可以適用于一般實(shí)時(shí)性要求的工程應用。
3 總 結
本文首先簡(jiǎn)單介紹了實(shí)時(shí)操作系統,分析了Linux 2.6內核實(shí)時(shí)性能的不足;然后著(zhù)重介紹了一個(gè)Linux實(shí)時(shí)化的解決方案--Xenomai,分析了Xenomai的Adeos構架基礎,簡(jiǎn)要說(shuō)明了Xenomai用戶(hù)層實(shí)時(shí)的實(shí)現,以及Xenomai支持多種實(shí)時(shí)操作系統的API的新特點(diǎn)。Linux 2.6.35 Kernel引入了針對Radeon KMS開(kāi)源顯卡驅動(dòng)的ATI電源管理支持、新款I(lǐng)ntel GMA整合芯片組的Intel H.264 VA-API視頻加速支持、Radeon DRI2同步和交換功能、Btrfs文件系統改進(jìn)、網(wǎng)絡(luò )傳入負載處理器核心分布的RPS和RFS支持等等。
本文給出的Xenomai的用戶(hù)層實(shí)時(shí)例程已經(jīng)成功地在多個(gè)平臺上運行過(guò),表明Xenomai用戶(hù)程序在多種硬件平臺上有很好的移植性。
linux相關(guān)文章:linux教程
評論