999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Vxworks嵌入式實(shí)時(shí)操作系統(tǒng)任務(wù)調(diào)度方法研究

2014-03-10 11:24:26董艷鈴常揚(yáng)
關(guān)鍵詞:嵌入式方法

董艷鈴 常揚(yáng)

(中國(guó)電子科技集團(tuán)公司第五十四研究所河北石家莊 050081)

Vxworks嵌入式實(shí)時(shí)操作系統(tǒng)任務(wù)調(diào)度方法研究

董艷鈴 常揚(yáng)

(中國(guó)電子科技集團(tuán)公司第五十四研究所河北石家莊 050081)

介紹了Vxworks嵌入式實(shí)時(shí)操作系統(tǒng)內(nèi)核任務(wù)調(diào)度的4種方法,針對(duì)嵌入式實(shí)時(shí)操作系統(tǒng)多線程實(shí)時(shí)調(diào)度的應(yīng)用需求,在對(duì)Vxworks嵌入式實(shí)時(shí)操作系統(tǒng)調(diào)度原理與方法進(jìn)行分析研究的基礎(chǔ)上,根據(jù)指定應(yīng)用環(huán)境的設(shè)計(jì)指標(biāo)與方案,對(duì)Vxworks嵌入式實(shí)時(shí)操作系統(tǒng)系統(tǒng)任務(wù)調(diào)度方法進(jìn)行了分析比較,通過(guò)仿真實(shí)驗(yàn)的方式對(duì)其性能進(jìn)行測(cè)試,并得出了方法適用性的相關(guān)論斷,從而為相關(guān)領(lǐng)域嵌入式實(shí)時(shí)操作系統(tǒng)的技術(shù)應(yīng)用提供參考。

嵌入式 實(shí)時(shí) 任務(wù)調(diào)度

1 引言

Vxworks嵌入式操作系統(tǒng)的實(shí)時(shí)性主要建立在多任務(wù)體系與任務(wù)間通信的基礎(chǔ)上,專用通信網(wǎng)絡(luò)的實(shí)時(shí)性要求很高,在嵌入式實(shí)時(shí)操作系統(tǒng)沒(méi)有得到廣泛應(yīng)用的時(shí)期,往往采用硬件實(shí)時(shí)性分析與大規(guī)模仿真設(shè)計(jì)結(jié)合的方式進(jìn)行相關(guān)工作,效率低及可操作性差。隨著以Vxworks為代表的嵌入式實(shí)時(shí)操作系統(tǒng)步入歷史舞臺(tái),專用通信網(wǎng)絡(luò)設(shè)計(jì)方法取得了巨大的進(jìn)步。隨之而來(lái),如何完成多任務(wù)間的同步與調(diào)度就成為了一項(xiàng)重要的研究?jī)?nèi)容。

2 Vxworks實(shí)時(shí)操作系統(tǒng)

Vxworks是美國(guó)風(fēng)河系統(tǒng)公司推出的高性能實(shí)時(shí)操作系統(tǒng)。Vxworks是一個(gè)運(yùn)行在目標(biāo)機(jī)上的高性能和可裁剪的嵌入式實(shí)時(shí)操作系統(tǒng),有著良好的可靠性和卓越的實(shí)時(shí)性,被廣泛應(yīng)用于通信、軍事、航空和航天等對(duì)實(shí)時(shí)性要求嚴(yán)格的高新技術(shù)領(lǐng)域。

Vxworks是一個(gè)功能強(qiáng)大而且比較復(fù)雜的操作系統(tǒng),包括進(jìn)程管理、存儲(chǔ)管理、設(shè)備管理、文件系統(tǒng)管理和網(wǎng)絡(luò)協(xié)議與系統(tǒng)應(yīng)用等。

實(shí)時(shí)操作系統(tǒng)(Real Time Operating System,RTOS)是指當(dāng)外界事件或數(shù)據(jù)產(chǎn)生時(shí),能夠接受并以足夠快的速度予以處理,其處理的結(jié)果又能在規(guī)定時(shí)間內(nèi)控制生產(chǎn)過(guò)程或?qū)μ幚硐到y(tǒng)做出快速響應(yīng),并控制所有實(shí)時(shí)任務(wù)協(xié)調(diào)一致運(yùn)行的操作系統(tǒng)。因而,提供及時(shí)響應(yīng)和高可靠性是其主要特點(diǎn)。實(shí)時(shí)操作系統(tǒng)有硬實(shí)時(shí)和軟實(shí)時(shí)2種模式,硬實(shí)時(shí)要求在規(guī)定時(shí)間內(nèi)必須完成操作,這是在操作系統(tǒng)設(shè)計(jì)時(shí)保證的;軟實(shí)時(shí)則只是按照任務(wù)的優(yōu)先級(jí),盡可能快的完成任務(wù)即可。在專用通信網(wǎng)絡(luò)中,必須使用硬實(shí)時(shí)操作系統(tǒng),且要求操作系統(tǒng)必須具備以下特點(diǎn):①多任務(wù);②有線程優(yōu)先級(jí);③多種中斷級(jí)別[1]。

Vxworks操作系統(tǒng)滿足以上實(shí)時(shí)性設(shè)計(jì)需求,其只占用很小的存儲(chǔ)空間,并可以高度裁剪,保證了系統(tǒng)能以較高的效率運(yùn)行。

3 多任務(wù)與實(shí)時(shí)性

多任務(wù)提供一種機(jī)制,用于響應(yīng)多重和離散事件,多任務(wù)構(gòu)造出多線程并發(fā)執(zhí)行的表象,但實(shí)際上系統(tǒng)內(nèi)核是根據(jù)某種調(diào)度算法交錯(cuò)執(zhí)行。每個(gè)任務(wù)擁有各自的上下文,即擁有各自的CPU環(huán)境和系統(tǒng)資源,在上下文切換時(shí),任務(wù)的上下文保存在任務(wù)控制塊(Task Control Block,TCB)中。Vxworks任務(wù)狀態(tài)轉(zhuǎn)換圖如圖1所示。

Vxworks操作系統(tǒng)作為當(dāng)前最為優(yōu)秀的嵌入式實(shí)時(shí)操作系統(tǒng),其多任務(wù)環(huán)境允許將實(shí)時(shí)應(yīng)用構(gòu)建成一組獨(dú)立的任務(wù),每個(gè)任務(wù)擁有各自的線程與一套系統(tǒng)資源[2]。為了協(xié)調(diào)任務(wù)間的行為,任務(wù)間通信設(shè)備允許通過(guò)同步和通信操作協(xié)調(diào)各自的活動(dòng)。

表1 任務(wù)狀態(tài)符號(hào)

若應(yīng)用程序調(diào)用了內(nèi)核程序,任務(wù)將從一個(gè)狀態(tài)改變到另一個(gè)狀態(tài)。圖1描述了任務(wù)創(chuàng)建時(shí)處于掛起狀態(tài),必須激活一個(gè)創(chuàng)建的任務(wù)才能是其處于就緒狀態(tài),運(yùn)行過(guò)程中的狀態(tài)會(huì)根據(jù)任務(wù)所處的不同階段而不斷跳轉(zhuǎn)。在操作系統(tǒng)里內(nèi)核負(fù)責(zé)維護(hù)每個(gè)任務(wù)的當(dāng)前狀態(tài)。Vxworks操作系統(tǒng)的幾種主要任務(wù)狀態(tài)如表1所示[3]。

4 Wind任務(wù)調(diào)度

基于Vxworks實(shí)時(shí)操作系統(tǒng)的任務(wù)調(diào)度方法的研究是多任務(wù)設(shè)計(jì)的核心問(wèn)題。根據(jù)應(yīng)用環(huán)境需求,任務(wù)調(diào)度方法以任務(wù)優(yōu)先級(jí)為依據(jù),同優(yōu)先級(jí)任務(wù)實(shí)時(shí)性調(diào)度方法分為4種:①輪轉(zhuǎn)調(diào)度;②信號(hào)量調(diào)度與同步;③DELAY延時(shí)方法;④API阻塞方法[4]。

4.1 輪轉(zhuǎn)調(diào)度

當(dāng)所有任務(wù)都處于就緒狀態(tài)時(shí),輪轉(zhuǎn)調(diào)度算法傾向于平均使用CPU,其基本原理是對(duì)于所有同優(yōu)先級(jí)任務(wù)通過(guò)時(shí)間片獲得相同的CPU處理時(shí)間。在Vxworks內(nèi)核運(yùn)行環(huán)境下,可以使用kernelTimeSlice函數(shù)啟動(dòng)輪轉(zhuǎn)調(diào)度算法,以時(shí)間片長(zhǎng)度或時(shí)間間隔為參數(shù)[5]。

在大多數(shù)系統(tǒng)狀態(tài)下,并不一定需要使用輪轉(zhuǎn)調(diào)度算法,但在相同代碼被多份復(fù)制執(zhí)行時(shí),例如在用戶接口任務(wù)內(nèi)執(zhí)行時(shí),則需要使用輪轉(zhuǎn)調(diào)度算法。

4.2 信號(hào)量調(diào)度與同步

Vxworks系統(tǒng)中,多任務(wù)對(duì)應(yīng)多線程,每一個(gè)人任務(wù)啟動(dòng)一個(gè)或者多個(gè)線程來(lái)完成預(yù)定功能。對(duì)多個(gè)線程進(jìn)行調(diào)度,尤其是不同優(yōu)先級(jí)的線程之間進(jìn)行調(diào)度,最為便捷有效的方法是線程間通信,可以使用通常意義下的信號(hào)量,利用信號(hào)量的阻塞特性來(lái)實(shí)現(xiàn)線程互斥與同步。

在Vxworks操作系統(tǒng)中,信號(hào)量被高度優(yōu)化,并提供了最快的任務(wù)間通信機(jī)制。信號(hào)量是互斥與任務(wù)同步的最主要手段[6]。

4.3 DELAY延時(shí)方法

Vxworks提供了任務(wù)延時(shí)接口TaskDelay,TaskDelay以時(shí)間片為參數(shù),用于任務(wù)運(yùn)行過(guò)程中的時(shí)序控制[7]。TaskDelay有一個(gè)十分有用的特性,即當(dāng)參數(shù)為0時(shí),系統(tǒng)默認(rèn)線程立即釋放資源控制權(quán),內(nèi)核將資源賦予當(dāng)前處于就緒狀態(tài)的等待線程。利用這一特性,可以將每一個(gè)設(shè)計(jì)為執(zhí)行完畢即釋放的運(yùn)行模式,從而達(dá)到線程調(diào)度的目標(biāo)。

這一方案的缺點(diǎn)是TaskDelay(0)的執(zhí)行依賴于線程函數(shù)的執(zhí)行流程,換句話說(shuō),需要執(zhí)行到這條代碼的時(shí)候才能釋放資源。因此,同優(yōu)先級(jí)的線程執(zhí)行順序和時(shí)間間隔是隨代碼效率不同而不同,不適合精確控制方案[8]。

4.4 API阻塞方法

專網(wǎng)通信系統(tǒng)的設(shè)備驅(qū)動(dòng)程序,包括某些系統(tǒng)通用函數(shù)(如MsgQ類)是阻塞式執(zhí)行的,也就是說(shuō),當(dāng)對(duì)設(shè)備進(jìn)行操作時(shí),如設(shè)備當(dāng)前無(wú)法響應(yīng),則線程阻塞到這個(gè)執(zhí)行點(diǎn)上,等待設(shè)備就緒。利用這一特性,可以起到與信號(hào)量調(diào)度異曲同工的目的[9]。

5 性能仿真及分析

根據(jù)上節(jié)分析,4種任務(wù)調(diào)度方法各有優(yōu)劣,采用半實(shí)物仿真的方式從不同角度對(duì)調(diào)度方法的性能進(jìn)行測(cè)試分析,如表2所示。

表2 仿真環(huán)境參數(shù)

仿真方法:本次仿真的任務(wù)目標(biāo)是測(cè)試任務(wù)調(diào)度方法的適用環(huán)境,通過(guò)多路高速數(shù)據(jù)輸入,相關(guān)任務(wù)對(duì)輸入數(shù)據(jù)進(jìn)行采集、解析和轉(zhuǎn)發(fā),統(tǒng)計(jì)丟包率可以通過(guò)對(duì)各個(gè)任務(wù)的處理狀況的分析得到任務(wù)調(diào)度的適用度。

仿真結(jié)果如下:4路2 Mbps數(shù)據(jù)輸入,4個(gè)線程分別對(duì)數(shù)據(jù)進(jìn)行采集、幀解析和統(tǒng)計(jì),采集時(shí)間為100 min,獲取實(shí)驗(yàn)結(jié)果統(tǒng)計(jì)如圖2所示。

圖2 4路低速輸入丟包率統(tǒng)計(jì)

在2 Mbps低速數(shù)據(jù)輸入的條件下,線程開(kāi)銷較小,因此,4種調(diào)度方案均取得較好的實(shí)驗(yàn)數(shù)據(jù),丟包率均小于0.01‰。4路64 Mbps數(shù)據(jù)輸入,12個(gè)線程分別對(duì)數(shù)據(jù)進(jìn)行采集、幀解析和統(tǒng)計(jì),采集時(shí)間為100 min,獲取實(shí)驗(yàn)結(jié)果統(tǒng)計(jì)如圖3所示。

圖3 4路高速輸入丟包率統(tǒng)計(jì)

在64 Mbps高速數(shù)據(jù)輸入的條件下,4種調(diào)度方案線程開(kāi)銷差異較大,根據(jù)實(shí)驗(yàn)數(shù)據(jù),輪轉(zhuǎn)調(diào)度開(kāi)銷最大,丟包率穩(wěn)定在0.1‰,信號(hào)量互斥方法開(kāi)銷最小,丟包率穩(wěn)定在0.001‰,延時(shí)調(diào)度的開(kāi)銷不穩(wěn)定,丟包率在0.001‰-0.1%之間波動(dòng),而API調(diào)度方法在這里采用的是總線阻塞的方式,由于總線能力限制,丟包率也不是很穩(wěn)定,總體位于0.005‰水平線下。4路64 Mbps數(shù)據(jù)輸入,分別用4、8、16和32個(gè)線程分別對(duì)數(shù)據(jù)進(jìn)行采集、幀解析和統(tǒng)計(jì),采集時(shí)間為100 min,獲取實(shí)驗(yàn)結(jié)果統(tǒng)計(jì)如圖4所示。

圖4 線程數(shù)改變條件下的丟包率統(tǒng)計(jì)

當(dāng)操作數(shù)據(jù)源的線程數(shù)量不斷增加,4種調(diào)度方法丟包率均有所變化,符合調(diào)度原理。輪轉(zhuǎn)調(diào)度算法隨著競(jìng)爭(zhēng)線程數(shù)的增加性能下降的最為明顯,延時(shí)調(diào)度算法的丟包率由0.05‰上升至0.16‰,而信號(hào)量與API調(diào)度方法的性能變化不大,均上升了0.002‰。

6 結(jié)束語(yǔ)

通過(guò)以上仿真,得出如下結(jié)論:當(dāng)系統(tǒng)載荷數(shù)據(jù)較小且線程數(shù)較少的條件下,4種調(diào)度算法的性能差異并不明顯;載荷數(shù)據(jù)或競(jìng)爭(zhēng)線程數(shù)增加會(huì)導(dǎo)致輪轉(zhuǎn)調(diào)度和延時(shí)調(diào)度的性能下降,互斥信號(hào)量和以其為基礎(chǔ)的API調(diào)度方式性能較好。因此,在高載荷的大系統(tǒng)中應(yīng)使用基于互斥信號(hào)量的任務(wù)調(diào)度方法。

[1]XIANG Zheng,REN Peng.A Multitask Scheduling Algorithm for Vxworks:Design and Task Simulation[C].Shanghai:AICI, 2009.

[2]王金剛,高偉,蘇琪,等.Vxworks程序員指南[M].北京:清華大學(xué)出版社,2003.

[3]周俊杰,何攀峰.基于Vxworks的實(shí)時(shí)多任務(wù)軟件框架設(shè)計(jì)[J].國(guó)外電子測(cè)量技術(shù),2012(4):80-82.

[4]閆得杰.基于Vxworks的多任務(wù)程序設(shè)計(jì)及通信管理[J].光機(jī)電信息,2010,27(9):64-68.

[5]李洪亮,侯朝幀,周紹生.Vxworks下實(shí)時(shí)多任務(wù)程序的實(shí)現(xiàn)[J].信息技術(shù),2009(25):24-25.

[6]曹慶年,張金森,孟開(kāi)元.Vxworks多任務(wù)調(diào)度策略的研究[J].中國(guó)科技信息,2008(8):124-125.

[7]李強(qiáng).嵌入式軟件實(shí)時(shí)性測(cè)試過(guò)程研究[J].計(jì)算機(jī)與網(wǎng)絡(luò),2007,33(18):38-39.

[8]李海清,張銳.基于PowerPC嵌入式網(wǎng)絡(luò)通信平臺(tái)的實(shí)現(xiàn)[J].計(jì)算機(jī)與網(wǎng)絡(luò),2010,36(12):39-41.

[9]梁科,徐鉑韜,趙研.基于片上PowerPC的Vxworks處理平臺(tái)設(shè)計(jì)[J].無(wú)線電工程,2008,38(12):62-64.

Research on Task Scheduling Algorithm in VxWorks Embedded Real-time Operating System

DONG Yan-ling CHANG Yang
(The 54th Research Institute of CETC,Shijiazhuang Hebei 050081,China)

The four methods of kernel task scheduling in VxWorks embedded real-time operating system(RTOS)are introduced.Aiming at the application requirements of multithread real-time scheduling in VxWorks embedded RTOS,based on the analysis and research of scheduling theories and methods of VxWorks RTOS,the four system task scheduling methods in VxWorks embedded RTOS are analyzed and compared according to the design criteria and plans in required application environments.their performance are tested through simulation experiments,and the relevant conclusions of method applicability are obtained,which provide the references for technology?application in embedded RTOS field.

embedded;real-time;task scheduling

TP316

A

1008-1739(2014)10-55-4

定稿日期:2014-04-26

猜你喜歡
嵌入式方法
學(xué)習(xí)方法
TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
電子制作(2019年7期)2019-04-25 13:17:14
嵌入式系統(tǒng)通信技術(shù)的應(yīng)用
電子制作(2018年18期)2018-11-14 01:48:16
搭建基于Qt的嵌入式開(kāi)發(fā)平臺(tái)
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
用對(duì)方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢(qián)方法
捕魚(yú)
Altera加入嵌入式視覺(jué)聯(lián)盟
主站蜘蛛池模板: 久久 午夜福利 张柏芝| 在线观看精品国产入口| 欧美激情视频一区| 国产无码在线调教| 国产在线精品美女观看| 久久超级碰| 日本高清有码人妻| 最新国语自产精品视频在| 亚洲AV成人一区国产精品| 99久久婷婷国产综合精| 九九热在线视频| AV不卡在线永久免费观看| 国产成人精品午夜视频'| 天天操天天噜| 午夜国产大片免费观看| 91久久偷偷做嫩草影院精品| 欧美亚洲香蕉| v天堂中文在线| 国产综合在线观看视频| 四虎永久在线| 亚洲欧美日韩精品专区| 午夜在线不卡| 日韩精品一区二区三区免费在线观看| 亚洲无码高清一区| 91破解版在线亚洲| 国产精品视频第一专区| 中文字幕在线永久在线视频2020| 无码一区二区波多野结衣播放搜索| 国产精品成人第一区| 亚洲成在线观看| 91在线精品麻豆欧美在线| 亚洲男人天堂网址| a欧美在线| 99久久精品免费视频| 97久久免费视频| 伊大人香蕉久久网欧美| 国产成本人片免费a∨短片| 国产99视频免费精品是看6| 色婷婷亚洲十月十月色天| 国产一线在线| 欧美精品在线免费| 在线欧美国产| 久热精品免费| 国产综合在线观看视频| 国产青榴视频| 毛片免费在线| 亚洲国产欧美国产综合久久 | 免费在线国产一区二区三区精品| 亚洲综合二区| 天天色天天操综合网| 国产精品密蕾丝视频| 91青青草视频| 久久99国产视频| 欧美国产综合色视频| 亚洲欧美在线综合图区| 一本大道香蕉久中文在线播放| 91丨九色丨首页在线播放| 国产成人8x视频一区二区| 色欲不卡无码一区二区| 91精品免费高清在线| 在线观看国产黄色| 女高中生自慰污污网站| 国产人免费人成免费视频| 天堂久久久久久中文字幕| 亚洲一区二区三区在线视频| 亚洲成a人片7777| 美女无遮挡免费视频网站| 中国一级毛片免费观看| 全部免费特黄特色大片视频| 国产在线欧美| 国产成人精品综合| 日本在线亚洲| 日韩亚洲高清一区二区| 性69交片免费看| 色屁屁一区二区三区视频国产| 国产你懂得| 一本视频精品中文字幕| 国产免费久久精品44| 热伊人99re久久精品最新地| 日本黄色不卡视频| 人妻丰满熟妇av五码区| 凹凸精品免费精品视频|