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

位置:51電子網(wǎng) » 技術(shù)資料 » 嵌入式系統(tǒng)

微型搶占式多任務(wù)實(shí)時(shí)內(nèi)核設(shè)計(jì)

發(fā)布時(shí)間:2007/4/23 0:00:00 訪問次數(shù):496

摘要:介紹引入事件驅(qū)動(dòng)觀念的搶占式多任務(wù)微型實(shí)時(shí)內(nèi)核——MicroStar的設(shè)計(jì)與實(shí)現(xiàn);提出基于事件的優(yōu)先級(jí)這一新概念。

關(guān)鍵詞:事件驅(qū)動(dòng) 優(yōu)先級(jí) 任務(wù)管理 消息 信號(hào) 同步

市面上有很多優(yōu)秀的嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS),但在中低端微控制器(MCU)上運(yùn)行性能良好的RTOS內(nèi)核并不多。在高檔機(jī)下,功能強(qiáng)大、運(yùn)行極好的嵌入式實(shí)時(shí)操作系統(tǒng),移植到中低端機(jī)上時(shí)性能很可能大幅度下降。一個(gè)很重要的原因就是它的大部分功能對(duì)中低檔系統(tǒng)來說是不需要的,反而成為制約性能的累贅。中低檔微控制器與高檔機(jī)相比,一方面,尋址能力有限,處理速度慢,在相同的實(shí)時(shí)性能要求下,對(duì)內(nèi)核的代碼效率的要求更為嚴(yán)格;另一方面,中低檔機(jī)完成的任務(wù)相對(duì)簡單,減少了對(duì)內(nèi)核的功能需求,比如可以不需要內(nèi)存管理。從嵌入式系統(tǒng)的共性來說,大多數(shù)情況下用戶程序和系統(tǒng)內(nèi)核是緊密結(jié)合在一起的,運(yùn)行時(shí)存儲(chǔ)器容量消耗、任務(wù)的數(shù)量、執(zhí)行時(shí)間和結(jié)果都是可以預(yù)計(jì)的,這可進(jìn)一步縮小對(duì)內(nèi)核的功能需求。

事件驅(qū)動(dòng)的觀點(diǎn)認(rèn)為,任務(wù)應(yīng)該是被動(dòng)地響應(yīng)外界發(fā)生的各種事件,而不是主動(dòng)地去“查詢”,浪費(fèi)處理器時(shí)間。采用事件驅(qū)動(dòng)編程的方法,不僅提高了運(yùn)行效率,而且降低了事件處理之間的耦合,使程序流程非常清晰,從而可大大提高開發(fā)效率。

充分考慮中低端微控制器的硬件特點(diǎn)和嵌入式系統(tǒng)軟件的需求,引入“事件驅(qū)動(dòng)”的觀念,筆者開發(fā)了一個(gè)微型的搶占式多任務(wù)RTOS內(nèi)核——MicroStar。支持任務(wù)的動(dòng)態(tài)創(chuàng)建、刪除、睡眠、掛起和恢復(fù),提供消息(message)和信號(hào)(signal)兩種任務(wù)間的通信方案、完善的定時(shí)器服務(wù)和功能齊全的任務(wù)同步函數(shù)庫。限于篇幅,著重論述幾個(gè)與眾不同的設(shè)計(jì)思路和實(shí)現(xiàn)難點(diǎn)。

1 調(diào)度策略

1.1 基于事件的優(yōu)先級(jí)

對(duì)內(nèi)核的實(shí)時(shí)性能來說,調(diào)度策略是關(guān)鍵。好的調(diào)度策略,既要體現(xiàn)各任務(wù)因所處理的事件對(duì)實(shí)時(shí)性的不同要求而帶來的優(yōu)先級(jí)差異,又要保證一定的公平性,避免出現(xiàn)低優(yōu)先級(jí)任務(wù)長時(shí)間得不到執(zhí)行的極端情形。常用的調(diào)度策略有兩種:一種是按時(shí)間片輪轉(zhuǎn)(round robin)調(diào)度,如RTX51;另一種是嚴(yán)格按優(yōu)先級(jí)的占先式調(diào)度,如μC/OS。

按時(shí)間片輪轉(zhuǎn)調(diào)度能很好地保證公平,但優(yōu)先級(jí)的差異是通過對(duì)處理器的占用時(shí)間的多少來體現(xiàn)的。如果各個(gè)任務(wù)都不主動(dòng)放棄執(zhí)行,高優(yōu)先級(jí)的任務(wù)能夠比低優(yōu)先級(jí)任務(wù)獲得更多的處理器時(shí)間;但在嵌入式系統(tǒng)中,某個(gè)事件要求實(shí)時(shí)處理,并不意味著該處理需要較長的時(shí)間,而往往是要求盡快響應(yīng)。因此,采用按時(shí)間片輪轉(zhuǎn)調(diào)度,實(shí)時(shí)性不會(huì)太好。

如果嚴(yán)格按任務(wù)的優(yōu)先級(jí)來調(diào)度,可極大地提升系統(tǒng)的實(shí)時(shí)性,但卻欠缺公平。如果高優(yōu)先級(jí)任務(wù)是個(gè)無等待的死循環(huán),低優(yōu)先級(jí)任務(wù)就無法獲得執(zhí)行機(jī)會(huì)。

一個(gè)好的辦法是兩者的結(jié)合,即可由任務(wù)的優(yōu)先級(jí)產(chǎn)生調(diào)度,也可以由時(shí)間片到產(chǎn)生新的任務(wù)調(diào)度,如VxWorks;但是實(shí)現(xiàn)起來較為復(fù)雜,不一定適合中低檔MCU。為此,基于以下事實(shí),提出“基于事件的優(yōu)先級(jí)(events based priority)”這一新觀念。

① 一個(gè)任務(wù)往往處理多個(gè)事件,各個(gè)事件對(duì)實(shí)時(shí)性的要求不盡相同。一般的RTOS下,任務(wù)的優(yōu)先級(jí)是根據(jù)這些事件中對(duì)實(shí)時(shí)性要求最高的一個(gè)來確定的。因此,高優(yōu)先級(jí)任務(wù)在處理對(duì)實(shí)時(shí)性要求不高的事件時(shí),完全可能會(huì)妨礙低優(yōu)先級(jí)任務(wù)處理具有一定實(shí)時(shí)性要求的事件。

② 有些情況下,對(duì)同一事件的處理可分為前臺(tái)處理和后臺(tái)處理:前臺(tái)處理所需時(shí)間短,對(duì)實(shí)時(shí)性有較高的要求;后臺(tái)處理花費(fèi)時(shí)間長,對(duì)實(shí)時(shí)性則無多大要求。

如果根據(jù)正在處理和等待處理的事件對(duì)實(shí)時(shí)性的不同要求,更細(xì)致地按事件處理的前后臺(tái)階段,動(dòng)態(tài)地調(diào)整任務(wù)的優(yōu)先級(jí),采用優(yōu)先級(jí)調(diào)度策略,既可發(fā)揮實(shí)時(shí)性好的優(yōu)點(diǎn),又可在一定限度內(nèi)保證公平。這種情況下,任務(wù)的優(yōu)先級(jí)不再是一成不變的,而是動(dòng)態(tài)地取決于所處理的事件和處理階段,這就是所謂的“基于事件的優(yōu)先級(jí)”。

1.2 在MicroStar中的實(shí)現(xiàn)

MicroStar中任務(wù)的優(yōu)先級(jí)是由靜態(tài)優(yōu)先級(jí)和動(dòng)態(tài)優(yōu)先級(jí)共同決定的。靜態(tài)優(yōu)先級(jí)等同于其它RTOS中的優(yōu)先級(jí);動(dòng)態(tài)優(yōu)先級(jí)為基于事件的優(yōu)先級(jí)——由內(nèi)核根據(jù)任務(wù)正在處理和等待處理的事件動(dòng)態(tài)調(diào)整。靜態(tài)優(yōu)先等級(jí)限定為0~15級(jí),不允許創(chuàng)建靜態(tài)優(yōu)先級(jí)相同的任務(wù)。動(dòng)態(tài)優(yōu)先等級(jí)目前只有0(亦稱緊急級(jí))、

摘要:介紹引入事件驅(qū)動(dòng)觀念的搶占式多任務(wù)微型實(shí)時(shí)內(nèi)核——MicroStar的設(shè)計(jì)與實(shí)現(xiàn);提出基于事件的優(yōu)先級(jí)這一新概念。

關(guān)鍵詞:事件驅(qū)動(dòng) 優(yōu)先級(jí) 任務(wù)管理 消息 信號(hào) 同步

市面上有很多優(yōu)秀的嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS),但在中低端微控制器(MCU)上運(yùn)行性能良好的RTOS內(nèi)核并不多。在高檔機(jī)下,功能強(qiáng)大、運(yùn)行極好的嵌入式實(shí)時(shí)操作系統(tǒng),移植到中低端機(jī)上時(shí)性能很可能大幅度下降。一個(gè)很重要的原因就是它的大部分功能對(duì)中低檔系統(tǒng)來說是不需要的,反而成為制約性能的累贅。中低檔微控制器與高檔機(jī)相比,一方面,尋址能力有限,處理速度慢,在相同的實(shí)時(shí)性能要求下,對(duì)內(nèi)核的代碼效率的要求更為嚴(yán)格;另一方面,中低檔機(jī)完成的任務(wù)相對(duì)簡單,減少了對(duì)內(nèi)核的功能需求,比如可以不需要內(nèi)存管理。從嵌入式系統(tǒng)的共性來說,大多數(shù)情況下用戶程序和系統(tǒng)內(nèi)核是緊密結(jié)合在一起的,運(yùn)行時(shí)存儲(chǔ)器容量消耗、任務(wù)的數(shù)量、執(zhí)行時(shí)間和結(jié)果都是可以預(yù)計(jì)的,這可進(jìn)一步縮小對(duì)內(nèi)核的功能需求。

事件驅(qū)動(dòng)的觀點(diǎn)認(rèn)為,任務(wù)應(yīng)該是被動(dòng)地響應(yīng)外界發(fā)生的各種事件,而不是主動(dòng)地去“查詢”,浪費(fèi)處理器時(shí)間。采用事件驅(qū)動(dòng)編程的方法,不僅提高了運(yùn)行效率,而且降低了事件處理之間的耦合,使程序流程非常清晰,從而可大大提高開發(fā)效率。

充分考慮中低端微控制器的硬件特點(diǎn)和嵌入式系統(tǒng)軟件的需求,引入“事件驅(qū)動(dòng)”的觀念,筆者開發(fā)了一個(gè)微型的搶占式多任務(wù)RTOS內(nèi)核——MicroStar。支持任務(wù)的動(dòng)態(tài)創(chuàng)建、刪除、睡眠、掛起和恢復(fù),提供消息(message)和信號(hào)(signal)兩種任務(wù)間的通信方案、完善的定時(shí)器服務(wù)和功能齊全的任務(wù)同步函數(shù)庫。限于篇幅,著重論述幾個(gè)與眾不同的設(shè)計(jì)思路和實(shí)現(xiàn)難點(diǎn)。

1 調(diào)度策略

1.1 基于事件的優(yōu)先級(jí)

對(duì)內(nèi)核的實(shí)時(shí)性能來說,調(diào)度策略是關(guān)鍵。好的調(diào)度策略,既要體現(xiàn)各任務(wù)因所處理的事件對(duì)實(shí)時(shí)性的不同要求而帶來的優(yōu)先級(jí)差異,又要保證一定的公平性,避免出現(xiàn)低優(yōu)先級(jí)任務(wù)長時(shí)間得不到執(zhí)行的極端情形。常用的調(diào)度策略有兩種:一種是按時(shí)間片輪轉(zhuǎn)(round robin)調(diào)度,如RTX51;另一種是嚴(yán)格按優(yōu)先級(jí)的占先式調(diào)度,如μC/OS。

按時(shí)間片輪轉(zhuǎn)調(diào)度能很好地保證公平,但優(yōu)先級(jí)的差異是通過對(duì)處理器的占用時(shí)間的多少來體現(xiàn)的。如果各個(gè)任務(wù)都不主動(dòng)放棄執(zhí)行,高優(yōu)先級(jí)的任務(wù)能夠比低優(yōu)先級(jí)任務(wù)獲得更多的處理器時(shí)間;但在嵌入式系統(tǒng)中,某個(gè)事件要求實(shí)時(shí)處理,并不意味著該處理需要較長的時(shí)間,而往往是要求盡快響應(yīng)。因此,采用按時(shí)間片輪轉(zhuǎn)調(diào)度,實(shí)時(shí)性不會(huì)太好。

如果嚴(yán)格按任務(wù)的優(yōu)先級(jí)來調(diào)度,可極大地提升系統(tǒng)的實(shí)時(shí)性,但卻欠缺公平。如果高優(yōu)先級(jí)任務(wù)是個(gè)無等待的死循環(huán),低優(yōu)先級(jí)任務(wù)就無法獲得執(zhí)行機(jī)會(huì)。

一個(gè)好的辦法是兩者的結(jié)合,即可由任務(wù)的優(yōu)先級(jí)產(chǎn)生調(diào)度,也可以由時(shí)間片到產(chǎn)生新的任務(wù)調(diào)度,如VxWorks;但是實(shí)現(xiàn)起來較為復(fù)雜,不一定適合中低檔MCU。為此,基于以下事實(shí),提出“基于事件的優(yōu)先級(jí)(events based priority)”這一新觀念。

① 一個(gè)任務(wù)往往處理多個(gè)事件,各個(gè)事件對(duì)實(shí)時(shí)性的要求不盡相同。一般的RTOS下,任務(wù)的優(yōu)先級(jí)是根據(jù)這些事件中對(duì)實(shí)時(shí)性要求最高的一個(gè)來確定的。因此,高優(yōu)先級(jí)任務(wù)在處理對(duì)實(shí)時(shí)性要求不高的事件時(shí),完全可能會(huì)妨礙低優(yōu)先級(jí)任務(wù)處理具有一定實(shí)時(shí)性要求的事件。

② 有些情況下,對(duì)同一事件的處理可分為前臺(tái)處理和后臺(tái)處理:前臺(tái)處理所需時(shí)間短,對(duì)實(shí)時(shí)性有較高的要求;后臺(tái)處理花費(fèi)時(shí)間長,對(duì)實(shí)時(shí)性則無多大要求。

如果根據(jù)正在處理和等待處理的事件對(duì)實(shí)時(shí)性的不同要求,更細(xì)致地按事件處理的前后臺(tái)階段,動(dòng)態(tài)地調(diào)整任務(wù)的優(yōu)先級(jí),采用優(yōu)先級(jí)調(diào)度策略,既可發(fā)揮實(shí)時(shí)性好的優(yōu)點(diǎn),又可在一定限度內(nèi)保證公平。這種情況下,任務(wù)的優(yōu)先級(jí)不再是一成不變的,而是動(dòng)態(tài)地取決于所處理的事件和處理階段,這就是所謂的“基于事件的優(yōu)先級(jí)”。

1.2 在MicroStar中的實(shí)現(xiàn)

MicroStar中任務(wù)的優(yōu)先級(jí)是由靜態(tài)優(yōu)先級(jí)和動(dòng)態(tài)優(yōu)先級(jí)共同決定的。靜態(tài)優(yōu)先級(jí)等同于其它RTOS中的優(yōu)先級(jí);動(dòng)態(tài)優(yōu)先級(jí)為基于事件的優(yōu)先級(jí)——由內(nèi)核根據(jù)任務(wù)正在處理和等待處理的事件動(dòng)態(tài)調(diào)整。靜態(tài)優(yōu)先等級(jí)限定為0~15級(jí),不允許創(chuàng)建靜態(tài)優(yōu)先級(jí)相同的任務(wù)。動(dòng)態(tài)優(yōu)先等級(jí)目前只有0(亦稱緊急級(jí))、

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

熱門點(diǎn)擊

 

推薦技術(shù)資料

DFRobot—玩的就是
    如果說新車間的特點(diǎn)是“靈動(dòng)”,F(xiàn)QPF12N60C那么... [詳細(xì)]
版權(quán)所有:51dzw.COM
深圳服務(wù)熱線:13751165337  13692101218
粵ICP備09112631號(hào)-6(miitbeian.gov.cn)
公網(wǎng)安備44030402000607
深圳市碧威特網(wǎng)絡(luò)技術(shù)有限公司
付款方式


 復(fù)制成功!