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)盟
主站蜘蛛池模板: 久久精品视频一| 思思热在线视频精品| 午夜免费视频网站| 国产一区二区三区在线无码| 成年人视频一区二区| jijzzizz老师出水喷水喷出| 91无码人妻精品一区二区蜜桃| 中文字幕波多野不卡一区| 国产拍揄自揄精品视频网站| 国产黑丝一区| 国产亚洲精品va在线| 日本欧美在线观看| 高潮毛片无遮挡高清视频播放| 青草娱乐极品免费视频| 国产激情影院| 婷婷六月综合网| 日韩中文欧美| 婷婷伊人久久| a天堂视频| 国产网站一区二区三区| 亚洲乱码在线视频| 欧美日韩在线成人| 亚洲h视频在线| 99精品热视频这里只有精品7| 国产成人精品免费视频大全五级| 欧美一区二区丝袜高跟鞋| 国产激情无码一区二区APP| 亚洲视频四区| 波多野结衣一区二区三区四区视频| 中文字幕人妻av一区二区| 久久无码高潮喷水| 女人18毛片水真多国产| 国产精品无码AV片在线观看播放| 久久精品这里只有精99品| 国产极品美女在线播放| 日本伊人色综合网| 97狠狠操| 欧美成人aⅴ| 中文字幕在线欧美| 91久久夜色精品| 国产主播一区二区三区| 国产免费一级精品视频| 亚洲天堂久久| 亚洲最新地址| 亚洲 成人国产| 91精品专区| 国产亚洲精品自在线| 亚洲婷婷丁香| 看国产毛片| 嫩草影院在线观看精品视频| 亚洲男人天堂网址| 国产成人高清在线精品| 国产女人爽到高潮的免费视频| 免费看美女毛片| 日本亚洲成高清一区二区三区| 国产久草视频| 国产一级二级三级毛片| 综合久久五月天| 国产福利一区在线| 午夜视频免费试看| 国产夜色视频| 欧美日韩综合网| 国产成人久久综合一区| 波多野结衣在线se| 免费在线视频a| 国产一级做美女做受视频| 日本人真淫视频一区二区三区| 一本大道在线一本久道| 午夜视频在线观看免费网站| 东京热一区二区三区无码视频| 色婷婷视频在线| 青草国产在线视频| 国产在线无码一区二区三区| www.av男人.com| 黄片一区二区三区| 99re在线免费视频| 久视频免费精品6| 久久国产精品电影| av一区二区无码在线| 欧美精品成人一区二区视频一| 亚洲va在线∨a天堂va欧美va| 日本精品αv中文字幕|