嵌入式Linux實(shí)時(shí)化技術(shù)
● 其他改進(jìn)
本文引用地址:http://dyxdggzs.com/article/106458.htmLinux在用戶(hù)層支持性能良好的futex,實(shí)現原理類(lèi)似于內核優(yōu)先級繼承mutex,僅在產(chǎn)生競態(tài)時(shí)進(jìn)入內核,提高了應用程序性能。此外,實(shí)時(shí)搶占補丁內核還提供mutex死鎖檢測、延遲跟蹤與測量、中斷關(guān)閉跟蹤與延遲測量、搶占延遲測量等內核調試與診斷、內核性能測量與調優(yōu)等工具、實(shí)時(shí)Trace支持( Ftrace)等支持。
現階段實(shí)時(shí)化技術(shù)在各體系結構上逐漸得到了支持,如表1所示。
實(shí)時(shí)搶占內核延遲
現階段,實(shí)時(shí)搶占補丁技術(shù)仍處于完善過(guò)程中,其表現在以下幾點(diǎn)不足。
● 中斷延遲
即使不發(fā)生中斷線(xiàn)程搶占,實(shí)時(shí)搶占內核相對原來(lái)中斷服務(wù)機制額外增加一對上下文切換時(shí)間,用于喚醒中斷服務(wù)線(xiàn)程執行和進(jìn)入睡眠狀態(tài)。此外,內核中還存在少量用raw_spinlock鎖禁用中斷來(lái)保護的臨界區,需要計算這些鎖造成的中斷延遲。
● 任務(wù)搶占延遲
內核搶占延遲主要是由于在內核中使用各種鎖機制用于控制任務(wù)和中斷對臨界區的訪(fǎng)問(wèn)所造成的,特別是實(shí)時(shí)搶占內核中為了避免優(yōu)先級逆轉增加的鎖機制帶來(lái)了額外時(shí)間負載。
● 內核模塊其他延遲
在實(shí)時(shí)搶占補丁中,內存管理模塊還需減少頁(yè)表錯誤引起的延遲,降低mlockall內存鎖存造成的性能降級影響。實(shí)時(shí)搶占內核中高精度定時(shí)器的使用導致了額外定時(shí)器管理時(shí)間負載。此外,內核中一些驅動(dòng)程序需要針對實(shí)時(shí)應用進(jìn)行優(yōu)化來(lái)提高實(shí)時(shí)響應。軟浮點(diǎn)處理和軟浮點(diǎn)內核仿真需要和實(shí)時(shí)搶占補丁兼容,能耗管理子系統還需要具備實(shí)時(shí)系統感知能力。
實(shí)時(shí)搶占內核性能測試
本文在Intel Pentium M 1.7GHz處理器上進(jìn)行了測試。測試環(huán)境包括:Linux內核2.6.25.8最小配置;patch-2.6.25.8-rt7實(shí)時(shí)補丁;libc 2.5+和busybox-1.10.0構建initrdfs方式的根文件系統。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論