国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

嵌入式Linux實(shí)時(shí)性改造技術(shù)綜述

2018-05-19 03:23
航天控制 2018年2期
關(guān)鍵詞:實(shí)時(shí)性內(nèi)核中斷

劉 劍 仲 宇 王 琦

北京航天自動(dòng)控制研究所,北京100854

Linux作為一個(gè)免費(fèi)、源碼開(kāi)放、可裁剪且可移植的操作系統(tǒng),在嵌入式領(lǐng)域應(yīng)用廣泛。2016年,Linux操作系統(tǒng)在嵌入式市場(chǎng)上占到了55%的份額,遙遙領(lǐng)先于其它嵌入式軟件開(kāi)發(fā)平臺(tái),基于Linux開(kāi)發(fā)的嵌入式應(yīng)用產(chǎn)品也非常豐富。但是,嵌入式領(lǐng)域的很多應(yīng)用程序被要求在限定時(shí)間內(nèi)能夠及時(shí)響應(yīng),而Linux和Windows一樣是一個(gè)通用的分時(shí)操作系統(tǒng),尚不能滿足高實(shí)時(shí)性任務(wù)場(chǎng)景的需要。目前,WindRiver公司生產(chǎn)的VxWorks、微軟公司生產(chǎn)的WindowsCE等商業(yè)實(shí)時(shí)操作系統(tǒng)在嵌入式實(shí)時(shí)領(lǐng)域占據(jù)了統(tǒng)治地位[1-2]。

但是,這些商用實(shí)時(shí)操作系統(tǒng)價(jià)格昂貴、源碼不開(kāi)放,無(wú)法滿足我國(guó)關(guān)鍵行業(yè)對(duì)實(shí)時(shí)操作系統(tǒng)的自主可控要求。另外,國(guó)內(nèi)自主研發(fā)的實(shí)時(shí)操作系統(tǒng)主要有中航工業(yè)計(jì)算所的天脈操作系統(tǒng)、翼輝信息的SylixOS實(shí)時(shí)操作系統(tǒng)等,這些實(shí)時(shí)操作系統(tǒng)既不基于linux也不開(kāi)源。因此,將Linux操作系統(tǒng)改造成實(shí)時(shí)操作系統(tǒng)已經(jīng)成為一個(gè)重要的研究方向,國(guó)外很多科研機(jī)構(gòu)都對(duì)Linux的實(shí)時(shí)性進(jìn)行了深入研究,提出了一些有效的實(shí)時(shí)性改造方法。本文對(duì)主流的Linux實(shí)時(shí)改造方案進(jìn)行分類總結(jié),并比較了這些方案的優(yōu)勢(shì)和不足。

1 Linux內(nèi)核的實(shí)時(shí)性現(xiàn)狀[3]

Linux遵循通用操作系統(tǒng)的設(shè)計(jì)思想,追求高吞吐量和公平性,沒(méi)有進(jìn)行專門的實(shí)時(shí)性設(shè)計(jì)。雖然Linux定義了實(shí)時(shí)進(jìn)程,但只能達(dá)到軟實(shí)時(shí)操作系統(tǒng)的指標(biāo)。因此,必須對(duì)Linux內(nèi)核的某些體制進(jìn)行改造,才能將Linux改造成一個(gè)硬實(shí)時(shí)操作系統(tǒng)。

1.1 內(nèi)核不完全可搶占

Linux運(yùn)行時(shí)分為用戶態(tài)和內(nèi)核態(tài)2種模式,進(jìn)程通過(guò)系統(tǒng)調(diào)用從用戶態(tài)切換到內(nèi)核態(tài)。2.6版本之后的Linux內(nèi)核已經(jīng)支持可搶占式進(jìn)程調(diào)度,Linux操作系統(tǒng)的實(shí)時(shí)性得到了加強(qiáng),但是內(nèi)核中很多由自旋鎖(sPinlock)保護(hù)的臨界區(qū)仍然不能搶占。

1.2 中斷不可搶占

Linux操作系統(tǒng)把中斷分為top-halves和bottom-halves兩部分,當(dāng)中斷級(jí)別為top-halves時(shí),操作系統(tǒng)會(huì)禁止其它任務(wù)搶占和中斷搶占,當(dāng)中斷級(jí)別處于bottom-halves時(shí),才允許其它中斷打斷。Linux操作系統(tǒng)設(shè)計(jì)之初就是作為通用操作系統(tǒng)供用戶使用,所以在關(guān)閉中斷時(shí),系統(tǒng)外部事件無(wú)法得到響應(yīng),造成任務(wù)響應(yīng)延遲,這在實(shí)時(shí)系統(tǒng)中是無(wú)法接受的。另外,如果外部I/O中斷頻繁發(fā)生,實(shí)時(shí)任務(wù)就很難得到調(diào)度。

1.3 時(shí)鐘粒度過(guò)粗

Linux2.6內(nèi)核把時(shí)鐘Tick的頻率提高到了1000Hz,即Linux的最小時(shí)鐘粒度為1ms,對(duì)于任務(wù)周期小于1ms的實(shí)時(shí)任務(wù)來(lái)說(shuō),仍然無(wú)法滿足需求。在嵌入式領(lǐng)域,一些周期性的實(shí)時(shí)任務(wù)對(duì)實(shí)時(shí)性要求更高,可能會(huì)達(dá)到幾十μs到幾百μs。如果單純地提高時(shí)鐘頻率,比如106Hz,可以達(dá)到1μs的時(shí)鐘分辨率,但是這樣做會(huì)使得時(shí)鐘中斷過(guò)于頻繁,導(dǎo)致大部分時(shí)間都浪費(fèi)在上下文切換,從而嚴(yán)重影響操作系統(tǒng)的性能。

1.4 實(shí)時(shí)調(diào)度策略不足

Linux操作系統(tǒng)將進(jìn)程分為實(shí)時(shí)進(jìn)程和普通進(jìn)程,實(shí)時(shí)進(jìn)程比普通進(jìn)程優(yōu)先調(diào)度。因?yàn)長(zhǎng)inux早期版本中的實(shí)時(shí)調(diào)度策略只有先到先服務(wù)(FIFO)和時(shí)間片輪轉(zhuǎn)(Round Robin)2種實(shí)時(shí)調(diào)度策略[4],缺少基于截止期的實(shí)時(shí)調(diào)度策略[5],所以無(wú)法處理突發(fā)型計(jì)算和完成時(shí)間高度敏感的任務(wù)。Linux中普通進(jìn)程的調(diào)度策略為完全公平調(diào)度算法(Completely Fair Schedule,CFS)。雖然實(shí)時(shí)進(jìn)程總是優(yōu)先于普通進(jìn)程運(yùn)行,但只能實(shí)現(xiàn)軟實(shí)時(shí),還不能滿足高實(shí)時(shí)性要求的應(yīng)用。

1.5 優(yōu)先級(jí)反轉(zhuǎn)

當(dāng)一個(gè)低優(yōu)先級(jí)的進(jìn)程A搶先占用了某種臨界區(qū)資源,從而導(dǎo)致同樣需要這個(gè)資源的高優(yōu)先級(jí)進(jìn)程C被阻塞,而另一個(gè)不需要此臨界區(qū)資源的就緒進(jìn)程B(B的優(yōu)先級(jí)在A與B之間)獲得了CPU的控制權(quán),于是高優(yōu)先級(jí)進(jìn)程C需要等待比它低優(yōu)先級(jí)的進(jìn)程B,這種現(xiàn)象被稱為優(yōu)先級(jí)反轉(zhuǎn)[6]。優(yōu)先級(jí)反轉(zhuǎn)是影響Linux實(shí)時(shí)性的重要因素,嚴(yán)重時(shí)會(huì)導(dǎo)致系統(tǒng)崩潰。Linux內(nèi)核尚未實(shí)現(xiàn)應(yīng)對(duì)優(yōu)先級(jí)反轉(zhuǎn)的機(jī)制。

1.6 虛擬內(nèi)存

Linux操作系統(tǒng)使用了虛擬內(nèi)存管理方案[7-8]。由于頁(yè)面交換處于最高中斷優(yōu)先級(jí),且與慢速硬盤進(jìn)行頁(yè)面交換的耗時(shí)較長(zhǎng),導(dǎo)致輸入請(qǐng)求無(wú)法獲得及時(shí)響應(yīng)。對(duì)于實(shí)時(shí)任務(wù)而言,這種內(nèi)存與外存之間頁(yè)面交換帶來(lái)的響應(yīng)時(shí)間不確定性是不能容忍的。

2 Linux實(shí)時(shí)性改造方法

經(jīng)過(guò)國(guó)內(nèi)外研究人員幾十年的研究,提出了很多有效的Linux實(shí)時(shí)性改造方法,這些方法不斷改進(jìn)、融合,逐漸形成了2種典型的改進(jìn)技術(shù)路線:雙內(nèi)核技術(shù)路線和直接修改內(nèi)核技術(shù)路線[9]。

2.1 雙內(nèi)核技術(shù)路線

雙內(nèi)核的核心思想是在原Linux內(nèi)核的基礎(chǔ)上增加一個(gè)實(shí)時(shí)內(nèi)核,實(shí)時(shí)任務(wù)在實(shí)時(shí)內(nèi)核中運(yùn)行,原來(lái)的內(nèi)核作為運(yùn)行在實(shí)時(shí)內(nèi)核上的優(yōu)先級(jí)最低的一個(gè)任務(wù)。

2.1.1 RT-Linux(Real Time Linux)[10]

美國(guó)新墨西哥州立大學(xué)在標(biāo)準(zhǔn)Linux內(nèi)核上增加一個(gè)實(shí)時(shí)內(nèi)核,將非實(shí)時(shí)進(jìn)程以及原Linux內(nèi)核作為實(shí)時(shí)內(nèi)核上的低優(yōu)先級(jí)進(jìn)程,而其它實(shí)時(shí)進(jìn)程作為實(shí)時(shí)內(nèi)核上的高優(yōu)先級(jí)進(jìn)程,形成了RT-Linux操作系統(tǒng)。原Linux系統(tǒng)的任務(wù)可以通過(guò)FIFO或共享內(nèi)存與實(shí)時(shí)任務(wù)進(jìn)行通信。為了達(dá)到Linux實(shí)時(shí)化的目的,RT-Linux主要采用如下方式[11]:

1)將標(biāo)準(zhǔn)Linux內(nèi)核與中斷控制器隔離,禁止其任意關(guān)閉中斷,系統(tǒng)中的所有中斷均由實(shí)時(shí)內(nèi)核進(jìn)行處理,然后再傳給原來(lái)的標(biāo)準(zhǔn)Linux內(nèi)核。這樣就保證了實(shí)時(shí)內(nèi)核中的實(shí)時(shí)任務(wù)有效執(zhí)行,不受標(biāo)準(zhǔn)Linux內(nèi)核的干擾。盡管對(duì)標(biāo)準(zhǔn)Linux內(nèi)核進(jìn)行了這樣的改動(dòng),但是原內(nèi)核的數(shù)據(jù)結(jié)構(gòu)完整性并沒(méi)有被破壞;

2)改變時(shí)鐘中斷機(jī)制。RT-Linux需要粒度更細(xì)的時(shí)鐘,所以它將時(shí)鐘中斷設(shè)置為單次觸發(fā)模式,根據(jù)最近需要執(zhí)行進(jìn)程的時(shí)間需求,不斷調(diào)整定時(shí)器的時(shí)間間隔;

3)提供用戶定制化實(shí)時(shí)調(diào)度程序的機(jī)制。RT-Linux用一種靈活的做法在內(nèi)部實(shí)現(xiàn)了一個(gè)通用的調(diào)度模塊。用戶可以開(kāi)發(fā)符合自己具體需求的調(diào)度模塊,然后加入到RT-Linux系統(tǒng)中;

4)RT-Linux通過(guò)共享內(nèi)存、命名管道(RTFIFO)等通信機(jī)制高效率地實(shí)現(xiàn)了實(shí)時(shí)進(jìn)程與普通進(jìn)程之間的通信。

RT-Linux是一種比較有代表性的Linux實(shí)時(shí)性改造方案,但是已被WindRiver公司收購(gòu)并商業(yè)化。RT-Linux系統(tǒng)結(jié)構(gòu)圖見(jiàn)圖1。

圖1 RT-Linux結(jié)構(gòu)圖

2.1.2 RTAI(Real-Time Application Interface)[12]

意大利米蘭理工學(xué)院研制的RTAI源于RT-Linux,它在設(shè)計(jì)思想上和RT-Linux完全相同。RTAI和RT-Linux最大的不同在于它在Linux上定義了一組實(shí)時(shí)硬件抽象層RTHAL或者ADEOS,接管了Linux對(duì)硬件平臺(tái)的控制權(quán)。這種方式能夠避免大量修改Linux內(nèi)核代碼,便于RTAI移植到新版Linux內(nèi)核上。RTHAL和ADEOS這2種技術(shù)本質(zhì)上是相同的,只是因?yàn)榘鏅?quán)問(wèn)題,使得RTAI后來(lái)的實(shí)現(xiàn)轉(zhuǎn)向了ADEOS。RTAI按照模塊機(jī)制設(shè)計(jì),它的實(shí)時(shí)內(nèi)核有3個(gè)基本組成部分:中斷分發(fā)器、實(shí)時(shí)調(diào)度器和實(shí)時(shí)通信器。如上面提到的實(shí)時(shí)調(diào)度器,也可以加載FIFO,共享內(nèi)存等實(shí)現(xiàn)實(shí)時(shí)通信器。基于模塊機(jī)制的設(shè)計(jì)使得RTAI可以根據(jù)實(shí)際要求進(jìn)行擴(kuò)展和裁剪。另外,RTAI雖然實(shí)時(shí)性能較好、移植難度小且開(kāi)源,但是更新速度比較慢,對(duì)ARM硬件平臺(tái)支持也不夠。RTAI系統(tǒng)結(jié)構(gòu)見(jiàn)圖2。

圖2 RTAI體系結(jié)構(gòu)圖

2.1.3 Xenomai[13]

Xenomai和RTAI的實(shí)現(xiàn)本質(zhì)上是相同的。 Xenomai不能繞過(guò)ADEOS與硬件交互,而RTAI可以,所以Xenomai的中斷延遲長(zhǎng)于RTAI。但是Xenomai更加關(guān)注的是用戶態(tài)下的實(shí)時(shí)性、提供與VxWorks、RTAI及POSIX等多套與主流商業(yè)實(shí)時(shí)操作系統(tǒng)兼容的API接口。Xenomai的目標(biāo)是將那些依賴商業(yè)實(shí)時(shí)操作系統(tǒng)的應(yīng)用程序盡可能平滑地移植到GNU/Linux環(huán)境。最后,Xenomai社區(qū)活躍,緊跟Linux內(nèi)核最新官方版本,對(duì)硬件支持廣泛,支持多種架構(gòu),在Linux實(shí)時(shí)化改造方案中也是一個(gè)研究熱點(diǎn)。Xenomai系統(tǒng)結(jié)構(gòu)圖見(jiàn)圖3。

圖3 Xenomai系統(tǒng)架構(gòu)圖

2.2 直接修改內(nèi)核技術(shù)路線

直接修改內(nèi)核技術(shù)路線的共同思想是針對(duì)Linux內(nèi)核制約實(shí)時(shí)性的因素,直接修改Linux內(nèi)核源代碼,使其本身具有實(shí)時(shí)能力。

2.2.1 RED-Linux(Real-Time and Embedded Linux)[14]

加州大學(xué)Irvine分校開(kāi)發(fā)的RED-Linux是一個(gè)軟實(shí)時(shí)操作系統(tǒng)。RED-Linux從RT-Linux那里借鑒了軟件模擬中斷管理器的機(jī)制,并且提高了時(shí)鐘中斷頻率。在實(shí)現(xiàn)內(nèi)核可搶占之后,RED-Linux為L(zhǎng)inux又添加了3個(gè)特性:1)源自于RT-Linux的高精度時(shí)鐘;2)軟件模擬中斷管理器;3)通用實(shí)時(shí)調(diào)度器框架。它同時(shí)支持3種類型的進(jìn)程調(diào)度算法:基于時(shí)間驅(qū)動(dòng)的進(jìn)程調(diào)度算法(Time-driven Scheduling)、基于優(yōu)先級(jí)的進(jìn)程調(diào)度算法(Priority-driven Scheduling)和基于CPU的進(jìn)程調(diào)度算法(Share-driven Scheduling)[15-16]。RED-Linux的設(shè)計(jì)目標(biāo)是提供一個(gè)可以支持各種調(diào)度算法的通用調(diào)度框架,該系統(tǒng)為每個(gè)任務(wù)增加了Priority(任務(wù)優(yōu)先級(jí))、Start-Time(任務(wù)開(kāi)始時(shí)間)、Finish-Time(任務(wù)完成時(shí)間)和Budget(任務(wù)在運(yùn)行期間所要使用的資源多少)這幾項(xiàng)屬性,并將它們作為進(jìn)程調(diào)度的依據(jù)。通過(guò)合理地調(diào)整這些屬性的取值及調(diào)度程序按照什么樣的優(yōu)先順序來(lái)使用這些屬性值,從而實(shí)現(xiàn)所有的調(diào)度算法。但是,Red-Linux是一個(gè)軟實(shí)時(shí)操作系統(tǒng),所以在硬實(shí)時(shí)指標(biāo)實(shí)現(xiàn)方面還需要進(jìn)一步完善。RED-Linux系統(tǒng)結(jié)構(gòu)見(jiàn)圖4。

圖4 RED-Linux調(diào)度框架圖

2.2.2 Kurt-Linux(Kansas University Real-Time Linux)[17]

美國(guó)Kansas大學(xué)開(kāi)發(fā)的Kurt-Linux是第一個(gè)支持標(biāo)準(zhǔn)Linux系統(tǒng)調(diào)用的實(shí)時(shí)系統(tǒng),它可以提供μs級(jí)的實(shí)時(shí)精度。Kurt-Linux將系統(tǒng)分為3種狀態(tài):正常態(tài)、實(shí)時(shí)態(tài)和混合態(tài)。在正常態(tài)時(shí),它采用普通的Linux的調(diào)度策略,此時(shí)與標(biāo)準(zhǔn)Linux內(nèi)核相同,但是時(shí)鐘粒度由時(shí)鐘中斷機(jī)制UTIME決定,可以達(dá)到μs級(jí)。在混合態(tài)時(shí),系統(tǒng)同時(shí)運(yùn)行實(shí)時(shí)任務(wù)和非實(shí)時(shí)任務(wù),但是此時(shí)內(nèi)核不能被搶占,不能完全保證實(shí)時(shí)任務(wù)的及時(shí)調(diào)度。實(shí)時(shí)態(tài)時(shí)只調(diào)度實(shí)時(shí)任務(wù),普通任務(wù)被掛起。Kurt-Linux相對(duì)于RT-Linux的一個(gè)優(yōu)點(diǎn)就是支持Linux系統(tǒng)自身的系統(tǒng)調(diào)用。但是,由于它在實(shí)現(xiàn)上只是簡(jiǎn)單地用一個(gè)簡(jiǎn)單的時(shí)間驅(qū)動(dòng)調(diào)度器替代原來(lái)的Linux調(diào)度器,造成實(shí)時(shí)進(jìn)程的調(diào)度很容易受到其它非實(shí)時(shí)任務(wù)的影響。目前Kurt-Linux的應(yīng)用比較廣泛,比如多媒體播放軟件、ARTS(ATM Reference Traffic System)等。

2.2.3 RT-patch(Realtime Preemption Patch)

實(shí)時(shí)搶占補(bǔ)丁(RT-patch)是由Ingo Molnar和Thomas Gleixner更新維護(hù)[18-19],由開(kāi)源自動(dòng)化開(kāi)發(fā)實(shí)驗(yàn)室(OS-ADL)對(duì)其穩(wěn)定性測(cè)試,OS-ADL于2015年10月將RT-patch控制權(quán)轉(zhuǎn)移給了Linux基金會(huì)。每隔2個(gè)Linux版本,RT-patch就會(huì)更新一次,目前,RT-patch近80%的內(nèi)容被官方Linux項(xiàng)目接收[20],融入到發(fā)行版的Linux內(nèi)核中。和其它在標(biāo)準(zhǔn)Linux內(nèi)核中增加實(shí)時(shí)搶占方法不同,RT-patch在原有的低延遲補(bǔ)丁和搶占補(bǔ)丁的基礎(chǔ)上,加入中斷線程化、高精度時(shí)鐘、優(yōu)先級(jí)繼承和互斥鎖替換自旋鎖等新的特性,將Linux內(nèi)核修改成完全可搶占式內(nèi)核,使其具有硬實(shí)時(shí)能力。RT-patch相比于雙內(nèi)核方案最大的優(yōu)勢(shì)在于它遵循POSIX標(biāo)準(zhǔn),使用該補(bǔ)丁時(shí),實(shí)時(shí)系統(tǒng)的應(yīng)用程序和驅(qū)動(dòng)程序與非實(shí)時(shí)系統(tǒng)的應(yīng)用程序和驅(qū)動(dòng)程序差異很小。因此,在使用該補(bǔ)丁的平臺(tái)上做相應(yīng)的開(kāi)發(fā)比雙內(nèi)核機(jī)制的方案更容易。另外,該補(bǔ)丁與硬件平臺(tái)相關(guān)性小,可移植性高,擁有龐大的社區(qū)支持,如果開(kāi)發(fā)人員編寫一個(gè)實(shí)時(shí)應(yīng)用程序,不需要知道太多關(guān)于RT-patch的知識(shí),也不需要任何特殊的庫(kù)和API,只需要標(biāo)準(zhǔn)的C庫(kù)、Linux驅(qū)動(dòng)程序和POSIX程序即可。

2.3 Linux實(shí)時(shí)性改造技術(shù)比較

除上述幾種實(shí)時(shí)性Linux產(chǎn)品技術(shù)方案外,還有德州大學(xué)和馬薩諸塞大學(xué)的Qlinux、TimeSys公司的TimeSys Linux及卡耐基梅隆大學(xué)的Linux/RK等,但是均未得到廣泛應(yīng)用,受到的關(guān)注程度較小,因此本文不再贅述。

通過(guò)對(duì)上文各種Linux實(shí)時(shí)性改造技術(shù)的研究探討,論述了各種Linux實(shí)時(shí)性改造技術(shù)的基本原理和實(shí)現(xiàn)細(xì)節(jié)。表1對(duì)各種Linux實(shí)時(shí)性改造技術(shù)的優(yōu)缺點(diǎn)進(jìn)行了對(duì)比。

表1 Linux實(shí)時(shí)性改造技術(shù)優(yōu)缺點(diǎn)比較

3 總結(jié)與展望

設(shè)本文在分析Linux內(nèi)核實(shí)時(shí)性不足的基礎(chǔ)上,論述了6種主流的Linux實(shí)時(shí)性改造技術(shù),并分別對(duì)這6種Linux實(shí)時(shí)性改造技術(shù)的適用性、優(yōu)缺點(diǎn)進(jìn)行分析比較。從現(xiàn)階段研究成果來(lái)看,RTAI、Xenomai和RT-patch等Linux實(shí)時(shí)性改造技術(shù)的研究相對(duì)比較深入,在工程領(lǐng)域也得到了成熟應(yīng)用。而由于RT-patch已經(jīng)得到了Linux的官方認(rèn)可,其近80%的內(nèi)容已經(jīng)加入了Linux內(nèi)核主線,所以在RT-patch的助力下,未來(lái)Linux內(nèi)核本身將會(huì)向滿足硬實(shí)時(shí)要求的方向發(fā)展。向用戶提供可配置的實(shí)時(shí)性備選方案。

參 考 文 獻(xiàn)

[1] 王金剛. 基于VxWorks的嵌入式實(shí)時(shí)系統(tǒng)設(shè)計(jì)[M]. 北京:清華大學(xué)出版社, 2004:1-14.

[2] 王學(xué)龍. 嵌入式VxWorks系統(tǒng)開(kāi)發(fā)與應(yīng)用[M]. 北京:人民郵電出版社, 2003:1-15.

[3] Shui Oikawa, Rag Rajkumar. Linux/RK:A Portable Resource Kernel in Linux [J]. IEEE Real-Time Systems Symposium Work-In-Progress, 1998, 43-47.

[4] Ankita Garg. Real-Time Linux Kernel Scheduler [J]. Linux Journal. 2009, Aug 01.

[5] Dario Faggioli, Fabio Checconi, Michaei Trimarchi and Claudio Scordino. An EDF Scheduling Class for the Linux Kernel [C]. Proceedings of Eleventh Real-Time Linux Workshop, 2009, 197-204.

[6] Luil Sha, Ragunathan Rajkimar, John Rlehoczky. Priority Inheritance Protocols:An Approach to Real-Time Synchronization [J]. IEEE Transactions on Computers, 1990:1175-1184.

[7] Matt Mackall. slob: Introduce the SLOB Allocator[EB/OL]. http//lwn.net/Articles/157944/. 2005, Nov 1.

[8] 楊峰. 基于Linux內(nèi)核的動(dòng)態(tài)內(nèi)存管理機(jī)制的實(shí)現(xiàn)[J]. 計(jì)算機(jī)工程, 2010,36(9):85-88.(Yang Feng. Implementation of Dynamic Memory Management Mechanism Based on Linux Kernel[J]. Computer Engineering, 2010, 3-6(9):85-88.)

[9] Kushal Koolwal. Myths and Realities of Real-Time Linux Software Systems[C]. Proceedings of Eleventh Real-Time Linux Workshop, 2009:13-18.

[10] Barabanov M. A Linux-based Real-time Operating System:(master thesis) [J]. New Mexico:New Mexico Institute of Mining and Technology,1997.

[11] 吳一民. RT-Linux的實(shí)時(shí)機(jī)制分析[J]. 計(jì)算機(jī)應(yīng)用, 2002, 22(12):100-111.(Wu Yimin. Analysis of Real-time Mechanism of RT -Linux[J]. Computer Application, 2002, 22(12):100-111.)

[12] Karim Yaghmour. The Real-Time Application Interface [C]. In Proceedings of the Linux Symposium, Boston, Massachusetts,USA, 2001, 245-260.

[13] Intel Corportation. Hard Real Time Linux Using Xenomai on Intel Multi-Core Processors [Z]. 2009.

[14] Lin Kwei-Jay, Wang Yuchung. The Design and Implementation of Real-Time Schedulers in RED-Linux [J]. Proceedings of the IEEE, 2003, 91(7):1114-1129.

[15] 張煥強(qiáng). 基于Linux的實(shí)時(shí)系統(tǒng)[EB/OL]. http://www.ibm.com/developerworks/-cn/linux/embed/l-realtime/index.html, 2003.

[16] 賴娟. Linux內(nèi)核分析及實(shí)時(shí)性改造[D]. 電子科技大學(xué), 2007.

[17] Srinivasan B. A Firm Shelf Hard Ware and Free Real-time System Implementation Using Commercial Off-the-software:(master thesis) [J]. American:University of Kansas, 1998.

[18] Betz W, Cereia M, Bertolotti C. Experimental Evaluation of the Linux RT Patch for Real-time Applications[C]//Proc. of IEEE Conference on Emerging Technologies & Factory Automation,2009:1-4.

[19] William von Hagen. Real-time and Performance Improvements in the 2.6 Linux Kernel [J]. Linux Journal, 2005, (134):8-13.

[20] 吳章金. Linux 實(shí)時(shí)搶占補(bǔ)丁的研究與實(shí)踐[D]. 蘭州:蘭州大學(xué), 2010.

猜你喜歡
實(shí)時(shí)性內(nèi)核中斷
強(qiáng)化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
基于規(guī)則實(shí)時(shí)性的端云動(dòng)態(tài)分配方法研究
基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
Linux內(nèi)核mmap保護(hù)機(jī)制研究
基于虛擬局域網(wǎng)的智能變電站通信網(wǎng)絡(luò)實(shí)時(shí)性仿真
跟蹤導(dǎo)練(二)(5)
千里移防,衛(wèi)勤保障不中斷
航空電子AFDX與AVB傳輸實(shí)時(shí)性抗干擾對(duì)比
微生物內(nèi)核 生態(tài)型農(nóng)資
一種車載Profibus總線系統(tǒng)的實(shí)時(shí)性分析