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