浓毛老太交欧美老妇热爱乱,蜜臀性色av免费,妺妺窝人体色www看美女,久久久久久久久久久大尺度免费视频,麻豆人妻无码性色av专区

位置:51電子網(wǎng) » 技術(shù)資料 » 其它綜合

采用雙內(nèi)核機(jī)制基于uClinux的實(shí)時(shí)操作系統(tǒng)分析與實(shí)現(xiàn)

發(fā)布時(shí)間:2008/5/28 0:00:00 訪問次數(shù):621

引言:本文提出了一種基于uclinux的實(shí)時(shí)操作系統(tǒng),在對(duì)于資源要求苛刻而應(yīng)用場(chǎng)合多變的嵌入式領(lǐng)域很有優(yōu)勢(shì)。該系統(tǒng)采用了雙內(nèi)核機(jī)制、借助實(shí)時(shí)硬件抽象層(rthal)概念、利用模塊動(dòng)態(tài)加載,對(duì)普通uclinux進(jìn)行了實(shí)時(shí)性改進(jìn),實(shí)驗(yàn)表明完全滿足實(shí)時(shí)系統(tǒng)的時(shí)限約束。

嵌入式linux以代碼開放、價(jià)格低廉、功能強(qiáng)大又易于移植的特性正在被廣泛應(yīng)用,為嵌入式操作系統(tǒng)提供了一個(gè)極具吸引力的選擇。uclinux是專門針對(duì)無存儲(chǔ)器管理單元(mmu)處理器設(shè)計(jì)的嵌入式linux,非常適合中低端嵌入式系統(tǒng)的需求,在工業(yè)控制領(lǐng)域有著廣闊的應(yīng)用前景。

但許多實(shí)際應(yīng)用要求對(duì)外部事件在限定的時(shí)間內(nèi)做出反應(yīng),而普通uclinux并不是一種實(shí)時(shí)操作系統(tǒng),所以本文提出了一種基于uclinux的實(shí)時(shí)性解決方案,經(jīng)測(cè)試可以嚴(yán)格滿足實(shí)時(shí)應(yīng)用的時(shí)限約束,有良好的應(yīng)用價(jià)值。

基于uclinux的實(shí)時(shí)方案分析

1.uclinux實(shí)時(shí)性缺陷

uclinux雖然符合posix1003.1b關(guān)于實(shí)時(shí)擴(kuò)展部分的標(biāo)準(zhǔn),例如支持sched_fifo和sched_rr實(shí)時(shí)調(diào)度策略、實(shí)時(shí)信號(hào)等實(shí)時(shí)功能,但由于其最初的設(shè)計(jì)目標(biāo)為通用分時(shí)操作系統(tǒng),因此在實(shí)時(shí)性支持方面,uclinux仍存在如下缺陷:

a.非搶占式內(nèi)核。uclinux有用戶態(tài)和核心態(tài)兩種模式,當(dāng)進(jìn)程運(yùn)行在用戶態(tài)時(shí),可以被優(yōu)先級(jí)更高的進(jìn)程搶占;在內(nèi)核中,一個(gè)進(jìn)程可以通過schedule()函數(shù)自愿地啟動(dòng)一次調(diào)度。除此之外,非自愿的強(qiáng)制調(diào)度只能發(fā)生在每次從系統(tǒng)調(diào)用返回前,或每次從中斷或異常處理返回到用戶空間前。

b.公平的調(diào)度算法。普通uclinux作為一個(gè)分時(shí)系統(tǒng),其調(diào)度算法的目標(biāo)是提供一種公平的調(diào)度機(jī)制,平衡系統(tǒng)響應(yīng)時(shí)間和吞吐量,這與實(shí)時(shí)應(yīng)用要求的低延遲和高度的可預(yù)測(cè)性相矛盾。實(shí)時(shí)操作系統(tǒng)必須保證目前運(yùn)行的任務(wù)的優(yōu)先級(jí)是可運(yùn)行任務(wù)中最高的。

c.頻繁地關(guān)中斷操作。uclinux為了保證核心數(shù)據(jù)的完整性,在對(duì)關(guān)鍵數(shù)據(jù)結(jié)構(gòu)進(jìn)行修改前,通常采用"關(guān)中斷"的方式。而非周期實(shí)時(shí)任務(wù)大多是由中斷作出響應(yīng),周期性實(shí)時(shí)任務(wù)也需要調(diào)度模塊來調(diào)度運(yùn)行,而調(diào)度模塊的執(zhí)行也要由時(shí)鐘中斷觸發(fā)。所以,頻繁的關(guān)中斷會(huì)導(dǎo)致實(shí)時(shí)任務(wù)不能被及時(shí)調(diào)度執(zhí)行。

d.時(shí)鐘粒度粗糙。時(shí)鐘管理是操作系統(tǒng)的脈搏,是進(jìn)程調(diào)度的重要依據(jù)。普通uclinux的時(shí)鐘粒度被設(shè)置為10ms,而實(shí)時(shí)應(yīng)用一般都需要微秒級(jí)的響應(yīng)精度。

2.uclinux實(shí)時(shí)解決方案

uclinux支持硬實(shí)時(shí)性的策略有以下兩種:

a.直接修改內(nèi)核法

將內(nèi)核中的進(jìn)程調(diào)度、中斷處理、時(shí)鐘等部分遵循posix標(biāo)準(zhǔn)進(jìn)行改寫,在源代碼級(jí)的基礎(chǔ)上使uclinux變成一個(gè)實(shí)時(shí)操作系統(tǒng)。這種策略雖然可以獲得高的執(zhí)行效率,但實(shí)現(xiàn)難度大、周期比較長(zhǎng),而且對(duì)原有內(nèi)核太強(qiáng)的依賴性使得升級(jí)工作繁重而不方便。

b.雙內(nèi)核方法

在同一硬件平臺(tái)上采用了兩個(gè)相互配合、共同工作的系統(tǒng)內(nèi)核,一個(gè)內(nèi)核提供精確的實(shí)時(shí)多任務(wù)管理,另一個(gè)內(nèi)核提供復(fù)雜的非實(shí)時(shí)通用功能。由于uclinux支持內(nèi)核模塊動(dòng)態(tài)加載,因此實(shí)時(shí)內(nèi)核可在需要時(shí)以模塊的形式載入。雙內(nèi)核機(jī)制避免了大規(guī)模結(jié)構(gòu)改造,以較小的代價(jià)提供了強(qiáng)實(shí)時(shí)性,新系統(tǒng)可使用幾乎所有常規(guī)uclinux操作系統(tǒng)提供的功能。

本文提出的嵌入式實(shí)時(shí)操作系統(tǒng)采用雙內(nèi)核的設(shè)計(jì)思想,在普通uclinux基礎(chǔ)上,通過增加一個(gè)實(shí)時(shí)內(nèi)核實(shí)現(xiàn)了調(diào)度的可搶占性,同時(shí)在系統(tǒng)中實(shí)現(xiàn)了硬件抽象層rthal,避免了頻繁關(guān)中斷所導(dǎo)致的實(shí)時(shí)任務(wù)不能被及時(shí)調(diào)度執(zhí)行的缺陷。最后,對(duì)系統(tǒng)時(shí)鐘進(jìn)行了改進(jìn),滿足了實(shí)時(shí)應(yīng)用微秒級(jí)的響應(yīng)精度。

基于uclinux的實(shí)時(shí)操作系統(tǒng)設(shè)計(jì)

1.搶占式實(shí)時(shí)內(nèi)核

實(shí)時(shí)內(nèi)核完全掌握了硬件層,而把非實(shí)時(shí)內(nèi)核作為一個(gè)優(yōu)先級(jí)最低的普通任務(wù)運(yùn)行于自己之上。實(shí)時(shí)內(nèi)核采用了搶占式調(diào)度算法,非實(shí)時(shí)內(nèi)核也通過rthal獲得實(shí)時(shí)內(nèi)核所用的替代函數(shù),這就為應(yīng)用雙內(nèi)核機(jī)制實(shí)現(xiàn)可搶占式內(nèi)核奠定了基礎(chǔ)。

實(shí)時(shí)內(nèi)核將各種功能以模塊形式實(shí)現(xiàn),在系統(tǒng)運(yùn)行時(shí)可以方便地加載、卸載,從而大大減少核心代碼的規(guī)模,節(jié)省內(nèi)核空間并方便進(jìn)行動(dòng)態(tài)配置。圖1是雙內(nèi)核結(jié)構(gòu)的嵌入式實(shí)時(shí)uclinux的體系結(jié)構(gòu)圖?梢钥闯觯趓thal架構(gòu)下實(shí)時(shí)內(nèi)核主要由中斷分發(fā)器和實(shí)時(shí)調(diào)度器構(gòu)成,這是實(shí)時(shí)內(nèi)核最基本的功能。同時(shí)還將實(shí)時(shí)shm、實(shí)時(shí)fifo、rtcom和sflib設(shè)計(jì)成模塊的形式,可以靈活地根據(jù)應(yīng)用需求進(jìn)行加載。

實(shí)時(shí)shm和實(shí)時(shí)fifo是實(shí)時(shí)內(nèi)核任務(wù)和非實(shí)時(shí)內(nèi)核任務(wù)之間的通信橋梁。sflib是浮點(diǎn)運(yùn)算軟件模擬的功能模塊,為了解決處理器不支持內(nèi)核浮點(diǎn)運(yùn)算而設(shè)計(jì)的。rtcom則可以提供實(shí)時(shí)串口通信功能。






圖2:實(shí)時(shí)調(diào)度處理流程圖。



搶占式內(nèi)核提供多種實(shí)時(shí)調(diào)度策略,包括fifo、rr、rm、edf算法,同時(shí)還允許使用者根據(jù)應(yīng)用需要編寫自己的調(diào)度算法。任務(wù)調(diào)度的時(shí)機(jī)有兩種,一種是主動(dòng)調(diào)度,即在程序中主動(dòng)調(diào)用rt_schedule()函數(shù)來讓出運(yùn)行權(quán);另一種是被動(dòng)調(diào)度,即在時(shí)鐘中斷處理函數(shù)rt_tim

引言:本文提出了一種基于uclinux的實(shí)時(shí)操作系統(tǒng),在對(duì)于資源要求苛刻而應(yīng)用場(chǎng)合多變的嵌入式領(lǐng)域很有優(yōu)勢(shì)。該系統(tǒng)采用了雙內(nèi)核機(jī)制、借助實(shí)時(shí)硬件抽象層(rthal)概念、利用模塊動(dòng)態(tài)加載,對(duì)普通uclinux進(jìn)行了實(shí)時(shí)性改進(jìn),實(shí)驗(yàn)表明完全滿足實(shí)時(shí)系統(tǒng)的時(shí)限約束。

嵌入式linux以代碼開放、價(jià)格低廉、功能強(qiáng)大又易于移植的特性正在被廣泛應(yīng)用,為嵌入式操作系統(tǒng)提供了一個(gè)極具吸引力的選擇。uclinux是專門針對(duì)無存儲(chǔ)器管理單元(mmu)處理器設(shè)計(jì)的嵌入式linux,非常適合中低端嵌入式系統(tǒng)的需求,在工業(yè)控制領(lǐng)域有著廣闊的應(yīng)用前景。

但許多實(shí)際應(yīng)用要求對(duì)外部事件在限定的時(shí)間內(nèi)做出反應(yīng),而普通uclinux并不是一種實(shí)時(shí)操作系統(tǒng),所以本文提出了一種基于uclinux的實(shí)時(shí)性解決方案,經(jīng)測(cè)試可以嚴(yán)格滿足實(shí)時(shí)應(yīng)用的時(shí)限約束,有良好的應(yīng)用價(jià)值。

基于uclinux的實(shí)時(shí)方案分析

1.uclinux實(shí)時(shí)性缺陷

uclinux雖然符合posix1003.1b關(guān)于實(shí)時(shí)擴(kuò)展部分的標(biāo)準(zhǔn),例如支持sched_fifo和sched_rr實(shí)時(shí)調(diào)度策略、實(shí)時(shí)信號(hào)等實(shí)時(shí)功能,但由于其最初的設(shè)計(jì)目標(biāo)為通用分時(shí)操作系統(tǒng),因此在實(shí)時(shí)性支持方面,uclinux仍存在如下缺陷:

a.非搶占式內(nèi)核。uclinux有用戶態(tài)和核心態(tài)兩種模式,當(dāng)進(jìn)程運(yùn)行在用戶態(tài)時(shí),可以被優(yōu)先級(jí)更高的進(jìn)程搶占;在內(nèi)核中,一個(gè)進(jìn)程可以通過schedule()函數(shù)自愿地啟動(dòng)一次調(diào)度。除此之外,非自愿的強(qiáng)制調(diào)度只能發(fā)生在每次從系統(tǒng)調(diào)用返回前,或每次從中斷或異常處理返回到用戶空間前。

b.公平的調(diào)度算法。普通uclinux作為一個(gè)分時(shí)系統(tǒng),其調(diào)度算法的目標(biāo)是提供一種公平的調(diào)度機(jī)制,平衡系統(tǒng)響應(yīng)時(shí)間和吞吐量,這與實(shí)時(shí)應(yīng)用要求的低延遲和高度的可預(yù)測(cè)性相矛盾。實(shí)時(shí)操作系統(tǒng)必須保證目前運(yùn)行的任務(wù)的優(yōu)先級(jí)是可運(yùn)行任務(wù)中最高的。

c.頻繁地關(guān)中斷操作。uclinux為了保證核心數(shù)據(jù)的完整性,在對(duì)關(guān)鍵數(shù)據(jù)結(jié)構(gòu)進(jìn)行修改前,通常采用"關(guān)中斷"的方式。而非周期實(shí)時(shí)任務(wù)大多是由中斷作出響應(yīng),周期性實(shí)時(shí)任務(wù)也需要調(diào)度模塊來調(diào)度運(yùn)行,而調(diào)度模塊的執(zhí)行也要由時(shí)鐘中斷觸發(fā)。所以,頻繁的關(guān)中斷會(huì)導(dǎo)致實(shí)時(shí)任務(wù)不能被及時(shí)調(diào)度執(zhí)行。

d.時(shí)鐘粒度粗糙。時(shí)鐘管理是操作系統(tǒng)的脈搏,是進(jìn)程調(diào)度的重要依據(jù)。普通uclinux的時(shí)鐘粒度被設(shè)置為10ms,而實(shí)時(shí)應(yīng)用一般都需要微秒級(jí)的響應(yīng)精度。

2.uclinux實(shí)時(shí)解決方案

uclinux支持硬實(shí)時(shí)性的策略有以下兩種:

a.直接修改內(nèi)核法

將內(nèi)核中的進(jìn)程調(diào)度、中斷處理、時(shí)鐘等部分遵循posix標(biāo)準(zhǔn)進(jìn)行改寫,在源代碼級(jí)的基礎(chǔ)上使uclinux變成一個(gè)實(shí)時(shí)操作系統(tǒng)。這種策略雖然可以獲得高的執(zhí)行效率,但實(shí)現(xiàn)難度大、周期比較長(zhǎng),而且對(duì)原有內(nèi)核太強(qiáng)的依賴性使得升級(jí)工作繁重而不方便。

b.雙內(nèi)核方法

在同一硬件平臺(tái)上采用了兩個(gè)相互配合、共同工作的系統(tǒng)內(nèi)核,一個(gè)內(nèi)核提供精確的實(shí)時(shí)多任務(wù)管理,另一個(gè)內(nèi)核提供復(fù)雜的非實(shí)時(shí)通用功能。由于uclinux支持內(nèi)核模塊動(dòng)態(tài)加載,因此實(shí)時(shí)內(nèi)核可在需要時(shí)以模塊的形式載入。雙內(nèi)核機(jī)制避免了大規(guī)模結(jié)構(gòu)改造,以較小的代價(jià)提供了強(qiáng)實(shí)時(shí)性,新系統(tǒng)可使用幾乎所有常規(guī)uclinux操作系統(tǒng)提供的功能。

本文提出的嵌入式實(shí)時(shí)操作系統(tǒng)采用雙內(nèi)核的設(shè)計(jì)思想,在普通uclinux基礎(chǔ)上,通過增加一個(gè)實(shí)時(shí)內(nèi)核實(shí)現(xiàn)了調(diào)度的可搶占性,同時(shí)在系統(tǒng)中實(shí)現(xiàn)了硬件抽象層rthal,避免了頻繁關(guān)中斷所導(dǎo)致的實(shí)時(shí)任務(wù)不能被及時(shí)調(diào)度執(zhí)行的缺陷。最后,對(duì)系統(tǒng)時(shí)鐘進(jìn)行了改進(jìn),滿足了實(shí)時(shí)應(yīng)用微秒級(jí)的響應(yīng)精度。

基于uclinux的實(shí)時(shí)操作系統(tǒng)設(shè)計(jì)

1.搶占式實(shí)時(shí)內(nèi)核

實(shí)時(shí)內(nèi)核完全掌握了硬件層,而把非實(shí)時(shí)內(nèi)核作為一個(gè)優(yōu)先級(jí)最低的普通任務(wù)運(yùn)行于自己之上。實(shí)時(shí)內(nèi)核采用了搶占式調(diào)度算法,非實(shí)時(shí)內(nèi)核也通過rthal獲得實(shí)時(shí)內(nèi)核所用的替代函數(shù),這就為應(yīng)用雙內(nèi)核機(jī)制實(shí)現(xiàn)可搶占式內(nèi)核奠定了基礎(chǔ)。

實(shí)時(shí)內(nèi)核將各種功能以模塊形式實(shí)現(xiàn),在系統(tǒng)運(yùn)行時(shí)可以方便地加載、卸載,從而大大減少核心代碼的規(guī)模,節(jié)省內(nèi)核空間并方便進(jìn)行動(dòng)態(tài)配置。圖1是雙內(nèi)核結(jié)構(gòu)的嵌入式實(shí)時(shí)uclinux的體系結(jié)構(gòu)圖?梢钥闯觯趓thal架構(gòu)下實(shí)時(shí)內(nèi)核主要由中斷分發(fā)器和實(shí)時(shí)調(diào)度器構(gòu)成,這是實(shí)時(shí)內(nèi)核最基本的功能。同時(shí)還將實(shí)時(shí)shm、實(shí)時(shí)fifo、rtcom和sflib設(shè)計(jì)成模塊的形式,可以靈活地根據(jù)應(yīng)用需求進(jìn)行加載。

實(shí)時(shí)shm和實(shí)時(shí)fifo是實(shí)時(shí)內(nèi)核任務(wù)和非實(shí)時(shí)內(nèi)核任務(wù)之間的通信橋梁。sflib是浮點(diǎn)運(yùn)算軟件模擬的功能模塊,為了解決處理器不支持內(nèi)核浮點(diǎn)運(yùn)算而設(shè)計(jì)的。rtcom則可以提供實(shí)時(shí)串口通信功能。






圖2:實(shí)時(shí)調(diào)度處理流程圖。



搶占式內(nèi)核提供多種實(shí)時(shí)調(diào)度策略,包括fifo、rr、rm、edf算法,同時(shí)還允許使用者根據(jù)應(yīng)用需要編寫自己的調(diào)度算法。任務(wù)調(diào)度的時(shí)機(jī)有兩種,一種是主動(dòng)調(diào)度,即在程序中主動(dòng)調(diào)用rt_schedule()函數(shù)來讓出運(yùn)行權(quán);另一種是被動(dòng)調(diào)度,即在時(shí)鐘中斷處理函數(shù)rt_tim

相關(guān)IC型號(hào)

熱門點(diǎn)擊

 

推薦技術(shù)資料

羅盤誤差及補(bǔ)償
    造成羅盤誤差的主要因素有傳感器誤差、其他磁材料干擾等。... [詳細(xì)]
版權(quán)所有:51dzw.COM
深圳服務(wù)熱線:13751165337  13692101218
粵ICP備09112631號(hào)-6(miitbeian.gov.cn)
公網(wǎng)安備44030402000607
深圳市碧威特網(wǎng)絡(luò)技術(shù)有限公司
付款方式


 復(fù)制成功!