直播推薦
企業(yè)動態(tài)
- 東莞皓天交付隔爆試驗(yàn)箱,助力廣東電子科技企業(yè)品質(zhì)升級
- SNEC 2025大秦?cái)?shù)能兩類新品連發(fā),以“智慧儲能”助推能源轉(zhuǎn)型
- 藍(lán)芯科技即將亮相泰國NEPCON Thailand 2025
- 漢達(dá)森攜手瑞典AQ邀您共聚CPHI China 2025
- 歐姆龍亮相SNEC 2025:助推新能源產(chǎn)業(yè)加速升級,為零碳未來蓄能
- 東莞市皓天試驗(yàn)設(shè)備有限公司召開線上技術(shù)會議 凝聚智慧共促技術(shù)升級
- 天津市投資促進(jìn)局、天津市建設(shè)銀行一行到訪國聯(lián)股份肥多多
- 山西省長治市屯留區(qū)區(qū)委書記牛海江一行到訪國聯(lián)股份肥多多
推薦展會
1.1 TinyOS存在的問題
當(dāng)前的構(gòu)件化嵌入式操作系統(tǒng)主要有TinyOS和Echidna[5]兩種。TinyOS是為無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,簡稱WSN)開發(fā)的構(gòu)件化嵌入式操作系統(tǒng),適用于內(nèi)存資源和處理能力有限,電池供電的嵌入式系統(tǒng)。其內(nèi)核支持兩級調(diào)度,任務(wù)按照FIFO的方式執(zhí)行,目的是減少對內(nèi)存的使用量,但造成系統(tǒng)實(shí)時性差。Echidna與TinyOS一樣使用FIFO的方式調(diào)度任務(wù),因此存在相同的缺點(diǎn)。
V. Subramonian等人在文獻(xiàn)[6]中研究了FIFO調(diào)度方式對TinyOS系統(tǒng)性能的影響。在使用TinyOS的系統(tǒng)中,當(dāng)需要處理的數(shù)據(jù)量較大時,如果超過其計(jì)算能力,則會出現(xiàn)過載(overload)現(xiàn)象。處理過載的較好方式一般是保證關(guān)鍵任務(wù)的執(zhí)行,放棄非關(guān)鍵任務(wù)。而FIFO調(diào)度方式不能做到這一點(diǎn),因?yàn)檫@種方式無法區(qū)分關(guān)鍵任務(wù)和非關(guān)鍵任務(wù)。下面通過分析TinyOS對通信數(shù)據(jù)包的處理來說明其缺點(diǎn)。
發(fā)送數(shù)據(jù)包由應(yīng)用層產(chǎn)生并傳遞給底層發(fā)送構(gòu)件,當(dāng)成功發(fā)送后,后者會觸發(fā)一個任務(wù)實(shí)例來通知應(yīng)用層發(fā)送完畢。應(yīng)用層在收到這一事件之前將一直等待,不能繼續(xù)發(fā)送數(shù)據(jù)。即,只有通知任務(wù)實(shí)例得到執(zhí)行,應(yīng)用層才能繼續(xù)發(fā)送數(shù)據(jù)。如果TinyOS當(dāng)前需要處理的數(shù)據(jù)量較大,有較多的任務(wù)實(shí)例需要執(zhí)行,則通知任務(wù)實(shí)例會排在FIFO隊(duì)列的zui后,等到前面的任務(wù)實(shí)例執(zhí)行完才得以執(zhí)行。這樣就延緩了發(fā)送數(shù)據(jù)的過程,降低了通信數(shù)據(jù)包的吞吐量。在情況下,其它任務(wù)實(shí)例會將整個FIFO隊(duì)列占滿,通知任務(wù)實(shí)例到達(dá)時會被調(diào)度內(nèi)核放棄,造成應(yīng)用層發(fā)送數(shù)據(jù)的終止。從無線信道接收數(shù)據(jù)時同樣會出現(xiàn)這種情況。
文獻(xiàn)[6]中提出了一種改進(jìn)措施,給任務(wù)分配優(yōu)先級,將調(diào)度內(nèi)核升級為優(yōu)先級驅(qū)動的非搶占式調(diào)度。這樣與FIFO調(diào)度方式相比,能提高任務(wù)集合的可調(diào)度性,但仍會出現(xiàn)任務(wù)集合不可調(diào)度的情況。
1.2 搶占閾值調(diào)度算法適合構(gòu)件化嵌入式操作系統(tǒng)
利用搶占閾值進(jìn)行任務(wù)調(diào)度時,不但給集合G中的任務(wù)ti分配任務(wù)優(yōu)先級pi?[1,2,…,n],還分配搶占閾值gi,并且pi?gi,即,gi?[pi,…,n]。這樣就實(shí)現(xiàn)了一個雙優(yōu)先級系統(tǒng)。其中的pi用于搶占其它的任務(wù),而gi是任務(wù)運(yùn)行中的有效優(yōu)先級。如果當(dāng)前正在運(yùn)行的任務(wù)是ti,那么對于就緒任務(wù)tj,必須有pj>gi, tj才能搶占ti。對于周期任務(wù)ti,每次開始執(zhí)行后,其優(yōu)先級將從pi提升為gi,執(zhí)行完后,優(yōu)先級再從gi下降為pi。
當(dāng)任務(wù)的搶占閾值等于其任務(wù)優(yōu)先級時,就是搶占式調(diào)度;當(dāng)任務(wù)的搶占閾值是系統(tǒng)zui高優(yōu)先級時,就是非搶占式調(diào)度。所以搶占調(diào)度和非搶占調(diào)度是使用搶占閾值調(diào)度模型的兩個特例。實(shí)際中,搶占閾值調(diào)度能同時利用搶占式調(diào)度和非搶占式調(diào)度的優(yōu)點(diǎn),通過調(diào)節(jié)任務(wù)搶占閾值,減少不必要的任務(wù)搶占,提高整個任務(wù)集合的可調(diào)度性。能運(yùn)行搶占和非搶占式調(diào)度算法都不能調(diào)度的任務(wù)集合[2]。在文獻(xiàn)[3]描述的仿真環(huán)境下,搶占閾值調(diào)度算法與搶占式調(diào)度算法相比,處理器利用率提高15%-20%。搶占閾值調(diào)度模型中,任務(wù)集合被分割成數(shù)目很少的非搶占組(Non-Preemptive Group,簡稱NPG)。組內(nèi)任務(wù)之間是非搶占的,能共享一個棧空間,減少了任務(wù)集合對內(nèi)存資源的消耗。在文獻(xiàn)[4]的仿真環(huán)境下,當(dāng)任務(wù)zui大周期為100時,平均100個任務(wù)被分割成14.3個NPG。
在構(gòu)件化嵌入式操作系統(tǒng)的應(yīng)用環(huán)境中,希望能在提高任務(wù)集合可調(diào)度性的同時,使用盡可能少的內(nèi)存資源。根據(jù)這一要求,本文提出了在實(shí)時調(diào)度內(nèi)核中使用搶占閾值調(diào)度算法。為了說明該算法較其它調(diào)度算法更適于構(gòu)件化嵌入式操作系統(tǒng),提出了如下的指標(biāo),以比較各種算法的性能:非搶占式調(diào)度中,所有任務(wù)共享一個線程棧空間,節(jié)省了內(nèi)存資源。對于搶占閾值調(diào)度,如果任務(wù)集合生成一個非搶占組,則會使用與非搶占式調(diào)度相同的內(nèi)存資源。為此,在每個測試點(diǎn),針對相同一組隨機(jī)產(chǎn)生的任務(wù)集合,比較搶占閾值調(diào)度生成一個非搶占組的次數(shù)除以整個產(chǎn)生的任務(wù)集合個數(shù)(用NAT表示)得到的百分率,與非搶占式調(diào)度以及FIFO調(diào)度方式下可調(diào)度任務(wù)集合個數(shù)除以NAT得到的百分率,稱作單線程比率(One Thread Rate,簡稱OTR)。來說明不同算法在保證任務(wù)集合可調(diào)度的前提下,只使用一個線程的能力。
使用隨機(jī)產(chǎn)生的任務(wù)集合。生成任務(wù)時,任務(wù)個數(shù)totalTasks從2開始,以2為步長遞增到50;任務(wù)集合的zui大周期maxPeriod取為1000。任務(wù)個數(shù)和zui大周期的取值構(gòu)成一個測試點(diǎn)。在每個測試點(diǎn),任務(wù)集合按如下規(guī)則產(chǎn)生:(1)在[1, maxPeriod]之間均勻、隨機(jī)地選擇任務(wù)周期Ti。(2)在[0.1/totoalTasks, 2.0/totalTask]之間均勻、隨機(jī)地選擇任務(wù)利用率Ui,任務(wù)執(zhí)行時間Ci=Ui*Ti。用任務(wù)個數(shù)來調(diào)整取值,以免產(chǎn)生過多的不可調(diào)度任務(wù)集合。(3)任務(wù)截至期Di=Ti。
在每個測試點(diǎn),從100次獨(dú)立仿真實(shí)驗(yàn)中獲得各調(diào)度算法的性能指標(biāo)值,以進(jìn)行性能比較。
圖1給出了針對相同一組任務(wù)集合,搶占閾值、非搶占式和FIFO等3種調(diào)度算法下產(chǎn)生的單線程比率。可以看出,F(xiàn)IFO調(diào)度方式的性能zui差。在大部分測試點(diǎn),搶占閾值調(diào)度下產(chǎn)生的使用一個線程的任務(wù)集合個數(shù)等于非搶占調(diào)度下生成的可調(diào)度任務(wù)集合個數(shù)。只在少數(shù)幾個測試點(diǎn),前者產(chǎn)生的OTR值略低于后者。所以,在此指標(biāo)下,搶占閾值調(diào)度具有與非搶占式調(diào)度接近的性能。但搶占閾值調(diào)度能提高任務(wù)集合的可調(diào)度性。總之,搶占閾值調(diào)度能在提高任務(wù)集合可調(diào)度性的同時,使用較少的內(nèi)存資源。與其它兩種調(diào)度算法相比,更適合作為構(gòu)件化嵌入式操作系統(tǒng)的實(shí)時調(diào)度算法
圖1比較3種算法得到的OTR值
如何將構(gòu)件技術(shù)成功地應(yīng)用到嵌入式操作系統(tǒng)開發(fā)中得到越來越多的重視。現(xiàn)有的工作大部分著重于從結(jié)構(gòu)的角度分解系統(tǒng)成若干構(gòu)件,并重用構(gòu)件。實(shí)際嵌入式實(shí)時系統(tǒng)的處理器資源和內(nèi)存資源是有限的,同時系統(tǒng)還有實(shí)時性需求。另外,當(dāng)前成熟的實(shí)時調(diào)度算法都是基于任務(wù)模型分析系統(tǒng)的可調(diào)度性。所以,在嵌入式實(shí)時系統(tǒng)中應(yīng)用構(gòu)件技術(shù)時,還需要研究如何從時間(運(yùn)行)的角度將構(gòu)件映射成任務(wù),以及為底層構(gòu)件化嵌入式實(shí)時操作系統(tǒng)選擇合適的調(diào)度算法。
免責(zé)聲明
- 凡本網(wǎng)注明"來源:智能制造網(wǎng)"的所有作品,版權(quán)均屬于智能制造網(wǎng),轉(zhuǎn)載請必須注明智能制造網(wǎng),http://www.xashilian.com。違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
- 企業(yè)發(fā)布的公司新聞、技術(shù)文章、資料下載等內(nèi)容,如涉及侵權(quán)、違規(guī)遭投訴的,一律由發(fā)布企業(yè)自行承擔(dān)責(zé)任,本網(wǎng)有權(quán)刪除內(nèi)容并追溯責(zé)任。
- 本網(wǎng)轉(zhuǎn)載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品來源,并自負(fù)版權(quán)等法律責(zé)任。
- 如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
2025中國鄭州衡器與計(jì)量技術(shù)設(shè)備展覽會
展會城市:鄭州市展會時間:2025-11-07