新四季網

一種基於分組的實時作業系統雙優先級任務調度節能方法

2023-07-13 20:58:51

一種基於分組的實時作業系統雙優先級任務調度節能方法
【專利摘要】本發明涉及一種基於分組的實時作業系統雙優先級任務調度節能方法,不同組的任務之間,任務調度僅考慮任務的普通優先級,高優先級的任務能直接搶佔低優先級任務;同組任務之間,任務調度不僅參考任務的普通優先級,還要考慮任務的閾值優先級,只有任務的普通優先級高於被搶佔任務的閾值優先級時,搶佔才可能發生。有益的效果是:通過給每個任務賦予兩個與任務調度相關的優先級,減少任務運行中的搶佔次數和上下文切換次數,降低任務運行能耗。對任務分組的方法,消除了雙優先級調度對不同組任務運行的幹擾,保證了系統的可靠性和實時性。
【專利說明】—種基於分組的實時作業系統雙優先級任務調度節能方法
【技術領域】
[0001]本發明涉及基於高可靠實時系統軟體節能【技術領域】,特別是涉及一種基於分組的實時作業系統雙優先級任務調度節能方法。
【背景技術】
[0002]高可靠實時系統廣泛用於航空、航天、電力等重要關鍵領域,保證關鍵任務可靠、穩定、安全運行。隨著計算機技術的進步,高可靠實時系統的體積越來越小,重量越來越輕,功能越來越強,不斷向智能化方向發展。在無人區或者惡劣環境條件下,高可靠實時系統大多採用電池、化學反應和自然發電技術來保證能源供給,然而電池儲能容量有限,化學反應和自然發電技術容易受到外界環境的幹擾,不能保證高可靠實時系統能源供給的可靠性和實時性,因此研究降低高可靠實時系統運行能耗的方法,能夠減少系統能量需求,提高能源供給的可靠性和穩定性。
[0003]目前,學術和工業界對實時系統的節能技術主要從硬體、作業系統和應用軟體三個方向進行研究,硬體上的電能管理主要作用於處理器和外設,通過使用工業電能管理標準「高級配置和電源管理接口」(ACPI),英特爾、AMD、IBM和威盛等處理器生產商採用調頻和調壓技術,降低處理器頻率和電壓,減少處理器運行能耗。外設通常具有多種運行模式,每種模式消耗的電能不同,當外設滿負荷運行時,通常處於高能耗模式,當外設空閒時,為了節省電能,它將從高能耗模式轉換到低能耗模式,由於外設模式轉換過程也會帶來電能開銷,因此應用於外設的節能技術主要在於如何優化外設模式轉換,常用的外設能耗模型是能耗狀態機(PSM)。作業系統層的節能技術主要是動態電能管理(DPM)和任務調度技術的結合,根據任務的執行時間、截止期和周期等屬性,在保證任務可調度性的前提下,動態調整處理器的頻率,降低處理器的速度,延長任務的執行時間,進而減少處理器等硬體資源的空閒時間,降低系統能耗。應用軟體節能技術種類較多,主要對系統中耗能構件進行管理,如調整屏幕背光強度,管理系統中任務的運行,配置系統能耗需求等。
[0004]高可靠實時系統具有高可靠和強實時性要求,上面的節能技術大多利用了 ACPI接口對處理器等硬體資源的電壓和頻率進行調整,然而,調頻和調壓技術會對系統的可靠性造成一定的影響,難以保證系統運行的可靠性和實時性,因此上文的節能技術難以適應高可靠實時系統的需求。

【發明內容】

[0005]本發明的目的在於克服上述已有節能方法採用調頻、調壓帶來的可靠性低,實時性差的問題,提供一種基於分組的實時作業系統雙優先級任務調度節能方法,減少實時作業系統特定分組的任務上下文切換次數,在降低系統能耗的同時滿足高可靠實時系統的可靠性和實時性需求。
[0006]一種基於分組的實時作業系統雙優先級任務調度節能方法,其特徵在於:雙優先級定義:在任務控制塊中為任務定義兩個運行時優先級:普通優先級和閾值優先級,並且滿足閾值優先級不低於普通優先級;基於分組的雙優先級任務調度方法步驟如下:
[0007]步驟1:首先,根據上文對任務的定義,將任務劃分為系統任務和自定義任務;所述系統任務指為作業系統提供系統功能服務,運行於作業系統中的服務程序;所述自定義任務指由用戶開發運行或安裝於作業系統平臺之上,為用戶提供特定服務功能的應用程式;
[0008]步驟2:對自定義任務:根據其優先級高低做分組操作,以自定義任務的優先級範圍為[Min, Max],當將[Min, Max]中每一級優先級對應的自定義任務各分為一組時,自定義任務最多分為Max-Min+Ι組;當將[Min, Max]中所有自定義任務全部分為一組時,自定義任務最少分為I組;
[0009]對系統任務,不論其優先級高低,將其全部分為I組;
[0010]步驟3:最後,整個系統的任務分組數等於自定義任務的分組數與系統任務分組數之和,即分組數處於[2,Max-Min+2]之間。
[0011]本發明提出的基於分組的實時作業系統雙優先級任務調度節能方法,不同組的任務之間,任務調度僅考慮任務的普通優先級,高優先級的任務能直接搶佔低優先級任務;同組任務之間,任務調度不僅參考任務的普通優先級,還要考慮任務的閾值優先級,只有任務的普通優先級高於被搶佔任務的閾值優先級時,搶佔才可能發生。
[0012]本發明與【背景技術】相比,具有的有益的效果是:
[0013](I)通過給每個任務賦予兩個與任務調度相關的優先級,減少任務運行中的搶佔次數和上下文切換次數,降低任務運行能耗。
[0014](2)對任務分組的方法,消除了雙優先級調度對不同組任務運行的幹擾,保證了系統的可靠性和實時性。
【專利附圖】

【附圖說明】
[0015]圖1是基於分組的雙優先級任務調度結構圖;
[0016]圖2是基於分組的雙優先級任務調度流程圖;
[0017]圖3是任務上下文切換計算時間的統計分布圖。
【具體實施方式】
[0018]本實施例基於分組的雙優先級任務調度方法如下:
[0019]基於分組的雙優先級任務調度方法由雙優先級和分組兩個步驟組成,每個步驟如下所示:
[0020]2a)雙優先級定義
[0021]在任務控制塊中為任務定義兩個運行時優先級:普通優先級和閾值優先級。並且滿足閾值優先級不低於普通優先級。普通優先級與閾值優先級在任務創建時被初始化,任務的普通優先級繼承了其父的普通優先級的值,待任務開始運行時,通過系統調用對普通優先級和閾值優先級重新賦值。
[0022]確定閾值優先級的算法過程:
[0023](I)初始化任務屬性值,按普通優先級從低到高為任務排序;
[0024](2)取優先級最低的任務,計算該任務在當前屬性下的最壞響應時間;[0025](3)判斷該任務的最壞響應時間與截止期的大小;
[0026](4)如果小於截止期,則閾值優先級分配成功,如果所有任務已分配完畢,則進入
(6),否則返回(2)繼續分配下一個任務;
[0027](5)如果大於等於截止期,則提高閾值優先級,如果閾值優先級高於最大值,則分配不成功,程序結束,否則返回(3)繼續執行;
[0028]( 6 )所有任務分配成功,程序結束。
[0029]2b)任務分組
[0030]定義1:系統任務指為作業系統提供系統功能服務,運行於作業系統中的服務程序,如時鐘中斷,調度程序,驅動程序等。
[0031]定義2:自定義任務指由用戶開發運行或安裝於作業系統平臺之上,為用戶提供特定服務功能的應用程式,如各種控制程序等。
[0032]任務分組的過程如下:
[0033](I)首先,根據上文對任務的定義,將任務劃分為系統任務和自定義任務;
[0034](2)在(I)中分組的基礎上,對自定義任務,根據其優先級高低對其繼續做進一步分組操作,假設自定義任務的優先級範圍為[Min, Max],如果將[Min, Max]中每一級優先級對應的自定義任務各分為一組,則自定義任務最多可以分為Max-Min+Ι組;如果將[Min, Max]中所有自定義任務全部分為一組,則自定義任務最少可以分為I組;
[0035](3)對系統任務,不論其優先級高低,將其全部分為I組;
[0036](4)最後,整個系統的任務分組數等於自定義任務的分組數與系統任務分組數之和,即分組數處於[2,Max-Min+2]之間。
[0037]自定義任務與系統任務的區別方法如下:
[0038]在任務控制塊中定義自定義任務標誌Is_Defined, Is_Def ined默認值為O,如果任務為自定義任務,則將Is_Defined置為I。
[0039]根據上文分組方法,令Max-Min+1 = n,按照任務優先級高低和自定義與否將系統中所有任務最多分為n+1組,任務的分組參考圖1實現如下:
[0040]分組1:如果任務標誌Is_Def ined為0,則該任務為系統任務,將其加入系統任務組,記為G1 ;
[0041]分組2:如果任務優先級pri e L1且任務標誌IS_Defined為1,則該任務為L1級自定義應用任務,將其加入L1級自定義應用任務組,記為G2 ;
[0042]......[0043]分組η:如果任務優先級pri e Ln且任務標誌Is_Def ined為I,則該任務為Ln級自定義應用任務,將其加入Ln級自定義應用任務組,記為Gn ;
[0044]分組n+1:如果任務優先級pri e Ln+1且任務標誌IS_Defined為1,則該任務為Ln+1級自定義應用任務,將其加入Ln+1級自定義應用任務組,記為Gn+1。
[0045]基於分組的雙優先級調度方法能夠隔離不同組任務運行產生的幹擾,在不同組的任務之間,任務調度僅考慮任務的普通優先級,高優先級的任務能夠直接搶佔低優先級任務;在同組任務之間,任務調度不僅涉及任務的普通優先級,還要考慮任務的閾值優先級,只有任務的普通優先級高於其它任務的閾值優先級時,搶佔才可能發生。而且,任務調度不能對任務主動放棄CPU的情形產生任何影響。[0046]將當前執行任務記為prev,下一個待執行的任務記為next,基於分組的雙優先級任務調度過程參照圖2實現如下:
[0047](1)當系統中首個任務運行時,如果任務為非自定義任務,則任務調度優先級與其普通優先級相等;如果任務為自定義任務,則在任務調入CPU前,將任務的調度優先級提升為其閾值優先級。
[0048](2)如果任務prev和next均為非自定義任務,則維持原來調度策略不變,如果prev是主動放棄CPU,則主動調用schedule O函數觸發調度,如果prev是被next搶佔,則比較與next普通優先級高低,如果prev優先級低於next,則設置搶佔標誌位,被動調用schedule O函數觸發調度。
[0049](3)如果prev為非自定義任務,next為自定義任務,則調度情形與(2)中相同,只是在next被調入CPU前,需將其調度優先級提升為閾值優先級。
[0050](4)如果prev為自定義任務,next為非自定義任務,如果任務prev主動放棄CPU,則其主動調用schedule O觸發調度,如果任務prev被next搶佔,則next的普通優先級僅需高於prev的普通優先級,任務prev被動調用schedule O函數觸發調度。而且,任務prev在進入就緒隊列前,需將其調度優先級從閾值優先級恢復為普通優先級。
[0051](5)如果任務prev和next均為自定義任務,如果任務prev主動放棄CPU,則其主動調用schedule O函數觸發調度;如果任務prev和next屬於同一組,且任務next搶佔任務prev,則任務next的普通優先級必須高於prev的閾值優先級,而且,prev在換出前,需將其調度優先級恢復為普通優先級,next換入前,需將其調度優先級提升為閾值優先級。如果任務prev和next屬於不同組,則調度過程與(4)相同。
[0052]採用本發明的步驟,使得任務運行能耗降低,任務運行能耗的評估為:
[0053]任務運行產生的能耗主要分為兩類:一是任務運行必須消耗的能量,叫基礎能耗;二是由於外界環境對任務運行造成的幹擾帶來的額外能耗,叫輔能耗。基礎能耗由系統硬體資源直接產生,它等於任務在系統各硬體資源上花費的計算時間與硬體資源功率乘積的累加和。輔能耗由任務運行過程中的上下文切換產生,上下文切換包括主動上下文切換和被動上下文切換,輔能耗則由主動上下文切換與被動上下文切換的次數之和與上下文切換平均能耗的乘積得來。
[0054]任務運行能耗的評估公式如下所示:
【權利要求】
1.一種基於分組的實時作業系統雙優先級任務調度節能方法,其特徵在於:雙優先級定義:在任務控制塊中為任務定義兩個運行時優先級:普通優先級和閾值優先級,並且滿足閾值優先級不低於普通優先級;基於分組的雙優先級任務調度方法步驟如下: 步驟1:首先,根據上文對任務的定義,將任務劃分為系統任務和自定義任務;所述系統任務指為作業系統提供系統功能服務,運行於作業系統中的服務程序;所述自定義任務指由用戶開發運行或安裝於作業系統平臺之上,為用戶提供特定服務功能的應用程式;步驟2:對自定義任務:根據其優先級高低做分組操作,以自定義任務的優先級範圍為[Min, Max],當將[Min, Max]中每一級優先級對應的自定義任務各分為一組時,自定義任務最多分為Max-Min+Ι組;當將[Min, Max]中所有自定義任務全部分為一組時,自定義任務最少分為I組; 對系統任務,不論其優先級高低,將其全部分為I組; 步驟3:最後,整個系統的任務分組數等於自定義任務的分組數與系統任務分組數之和,即分組數處於[2,Max-Min+2]之間。
【文檔編號】G06F1/32GK103914346SQ201410133090
【公開日】2014年7月9日 申請日期:2014年4月3日 優先權日:2013年12月16日
【發明者】董雲衛, 顧斌, 葛永琪, 楊春鑫 申請人:西北工業大學

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀