亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種嵌入式操作系統(tǒng)的任務(wù)調(diào)度方法

文檔序號:6337055閱讀:733來源:國知局
專利名稱:一種嵌入式操作系統(tǒng)的任務(wù)調(diào)度方法
技術(shù)領(lǐng)域
本發(fā)明涉及嵌入式系統(tǒng)任務(wù)調(diào)度領(lǐng)域,特別是涉及一種基于實時可搶占的嵌入式 操作系統(tǒng)中類時間片輪調(diào)度的方法。
背景技術(shù)
現(xiàn)在嵌入式設(shè)備的功能變得越來越強大,功能也越來越豐富。隨著嵌入式設(shè)備的 功能越來越復(fù)雜,為了簡化日益復(fù)雜的功能的設(shè)計,嵌入式操作系統(tǒng)就變的越來越不可或缺。
在現(xiàn)有的嵌入式操作系統(tǒng)領(lǐng)域,現(xiàn)在主要的操作系統(tǒng)的調(diào)度方式一般是采用基于 優(yōu)先級的可搶占的調(diào)度算法或者是采用基于時間片輪的調(diào)度算法。
基于優(yōu)先級的可剝奪調(diào)度法是指,CPU總是讓處于就緒態(tài)的、優(yōu)先級最高的任務(wù)運 行;最高優(yōu)先級的任務(wù)一旦就緒,總能得到CPU的使用權(quán),當(dāng)一個運行著的任務(wù)使一個比它 優(yōu)先級高的任務(wù)進入了就緒態(tài)時,當(dāng)前任務(wù)的CPU使用權(quán)就被剝奪了,更高優(yōu)先級的任務(wù) 立刻得到了 CPU的使用權(quán)。除非最高優(yōu)先級的任務(wù)主動放棄CPU的使用權(quán),否則低優(yōu)先級 的任務(wù)是沒機會獲得CPU使用權(quán)的。
基于時間片輪轉(zhuǎn)的調(diào)度算法是指是,系統(tǒng)將所有的就緒進程按先來先服務(wù)算法的 原則,排成一個隊列,每次調(diào)度時,系統(tǒng)把處理機分配給隊列首進程,并讓其執(zhí)行一個時間 片。當(dāng)執(zhí)行的時間片用完時,由一個計時器發(fā)出時鐘中斷請求,調(diào)度程序根據(jù)這個請求停止 該進程的運行,將它送到就緒隊列的末尾,再把處理機分給就緒隊列中新的隊首進程,同時 讓它也執(zhí)行一個時間片。這樣能夠保證每個任務(wù)都有足夠的機會獲得CPU,對于需要實時響 應(yīng)的任務(wù)這樣的調(diào)度算法就不能夠保證CPU能夠及時響應(yīng)。
而現(xiàn)在的很多復(fù)雜嵌入式系統(tǒng)中的任務(wù)既需要實時可搶占,同時又保證所有的任 務(wù)都有足夠的調(diào)用機會。發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種嵌入式操作系統(tǒng)的任務(wù)調(diào)度方法,保證實 時性的前提下又能保證各個任務(wù)都有足夠的被調(diào)度的機會。
為解決上述技術(shù)問題,本發(fā)明的技術(shù)方案是一種嵌入式操作系統(tǒng)的任務(wù)調(diào)度方 法,包括以下步驟
(1)時間片的分配,利用時間片記錄任務(wù)處于就緒狀態(tài)的時間;
(2)實時可搶占的任務(wù)調(diào)度,當(dāng)系統(tǒng)調(diào)度定時器中斷后,遍歷就緒任務(wù)隊列,找出 是否有比當(dāng)前任務(wù)更改優(yōu)先級的就緒狀態(tài)任務(wù),如果有則運行切換到改任務(wù)運行,把當(dāng)前 任務(wù)置位就緒態(tài)后掛起;
(3)類時間片輪的任務(wù)調(diào)度,當(dāng)任務(wù)就緒時調(diào)度定時器每次中斷后,在當(dāng)前沒有需 要實時搶占運行的任務(wù)時,掃描就緒任務(wù)隊列,把當(dāng)前就緒的任務(wù)就緒狀態(tài)計數(shù)加1,同時 找出就緒時間最長的任務(wù)執(zhí)行,同時清除其就緒計數(shù);
(4)信號量超時觸發(fā)調(diào)度,當(dāng)信號量到達或者超時時,立即觸發(fā)等待該信號量的任 務(wù)運行。
作為改進,系統(tǒng)的進程控制塊的進程信息包括任務(wù)類型,用于標(biāo)識實時任務(wù)和非 實時任務(wù);現(xiàn)場信息,用于保存調(diào)度過程中的各種現(xiàn)場信息;控制信息,用于進程的調(diào)度和管理。
作為改進,所述現(xiàn)場信息包括通用寄存器的內(nèi)容、控制寄存器的內(nèi)容、用戶堆棧指 針、系統(tǒng)堆棧指針。
作為改進,所述控制信息包括進程調(diào)度的相關(guān)信息,如狀態(tài)、等待事件或等待原 因、優(yōu)先級等;進程間通信的相關(guān)信息,如消息隊列指針、信號量;資源的使用信息。
本發(fā)明與現(xiàn)有技術(shù)相比所帶來的有益效果是
本發(fā)明提供了一種在搶占式調(diào)度的操作系統(tǒng)上實現(xiàn)類時間片輪的調(diào)度方法,該方 法包括時間片的分配、就緒狀態(tài)判斷、任務(wù)調(diào)度、時間片的回收、信號量觸發(fā)調(diào)度的步驟。本 發(fā)明在保證實時性的前提下又能保證各個任務(wù)都有足夠的被調(diào)度的機會。


圖1為本發(fā)明流程圖。
具體實施方式
下面結(jié)合說明書附圖對本發(fā)明作進一步說明。
如圖1所示,一種嵌入式操作系統(tǒng)的任務(wù)調(diào)度方法,包括以下步驟
(1)時間片的分配,采取一種類似時間片輪的調(diào)度方法,這里的用來類似時間片輪 調(diào)度的時間片的方法是記錄任務(wù)處于就緒狀態(tài)的時間(就緒狀態(tài)計數(shù));
(2)實時可搶占的任務(wù)調(diào)度,當(dāng)系統(tǒng)調(diào)度定時器中斷后,先遍歷就緒任務(wù)隊列,找 出是否有比當(dāng)前任務(wù)更改優(yōu)先級的就緒狀態(tài)任務(wù),如果有則運行切換到改任務(wù)運行,把當(dāng) 前任務(wù)置位就緒態(tài)后掛起。否則執(zhí)行空閑任務(wù);
本系統(tǒng)中創(chuàng)建的實時的任務(wù)是基于優(yōu)先級的,而高優(yōu)先級的任務(wù)一旦就緒總是可 以搶占低優(yōu)先級的或者基于時間片輪的任務(wù)。需要實時運行的任務(wù)只要將其優(yōu)先級設(shè)置為 足夠高即可保證其需要運行時總能占有CPU資源,從而保證其實時性;
(3)類時間片輪的任務(wù)調(diào)度,當(dāng)任務(wù)就緒時調(diào)度定時器每次中斷后,在當(dāng)前沒有需 要實時搶占運行的任務(wù)時,掃描就緒任務(wù)隊列,把當(dāng)前就緒的任務(wù)就緒狀態(tài)計數(shù)加1,同時 找出就緒時間最長的任務(wù)執(zhí)行,同時清除其就緒計數(shù),從而實現(xiàn)類似時間片亂的調(diào)度以保 證非實時的任務(wù)也都能夠有足夠的機會獲得CPU資源執(zhí)行。
(4)信號量(消息郵件)超時觸發(fā)調(diào)度,當(dāng)信號量(消息郵件)到達或者超時時, 立即觸發(fā)等待該信號量(消息郵件)的任務(wù)運行,從而保證系統(tǒng)中消息傳遞的實時性。
系統(tǒng)的進程控制塊的進程信息包括任務(wù)類型,用于標(biāo)識實時任務(wù)和非實時任務(wù); 現(xiàn)場信息,用于保存調(diào)度過程中的各種現(xiàn)場信息,所述現(xiàn)場信息包括通用寄存器的內(nèi)容、控 制寄存器的內(nèi)容、用戶堆棧指針、系統(tǒng)堆棧指針;控制信息,用于進程的調(diào)度和管理,所述控 制信息包括進程調(diào)度的相關(guān)信息,如狀態(tài)、等待事件或等待原因、優(yōu)先級等;進程間通信的 相關(guān)信息,如消息隊列指針、信號量;資源的使用信息。
本發(fā)明提供了一種在搶占式調(diào)度的操作系統(tǒng)上實現(xiàn)類時間片輪的調(diào)度方法,該方 法包括時間片的分配、就緒狀態(tài)判斷、任務(wù)調(diào)度、時間片的回收、信號量觸發(fā)調(diào)度的步驟。本 發(fā)明在保證實時性的前提下又能保證各個任務(wù)都有足夠的被調(diào)度的機會。
權(quán)利要求
1.一種嵌入式操作系統(tǒng)的任務(wù)調(diào)度方法,其特征在于,包括以下步驟(1)時間片的分配,利用時間片記錄任務(wù)處于就緒狀態(tài)的時間;(2)實時可搶占的任務(wù)調(diào)度,當(dāng)系統(tǒng)調(diào)度定時器中斷后,遍歷就緒任務(wù)隊列,找出是否 有比當(dāng)前任務(wù)更改優(yōu)先級的就緒狀態(tài)任務(wù),如果有則運行切換到改任務(wù)運行,把當(dāng)前任務(wù) 置位就緒態(tài)后掛起;(3)類時間片輪的任務(wù)調(diào)度,當(dāng)任務(wù)就緒時調(diào)度定時器每次中斷后,在當(dāng)前沒有需要實 時搶占運行的任務(wù)時,掃描就緒任務(wù)隊列,把當(dāng)前就緒的任務(wù)就緒狀態(tài)計數(shù)加1,同時找出 就緒時間最長的任務(wù)執(zhí)行,同時清除其就緒計數(shù);(4)信號量超時觸發(fā)調(diào)度,當(dāng)信號量到達或者超時時,立即觸發(fā)等待該信號量的任務(wù)運行。
2.根據(jù)權(quán)利要求1所述的一種嵌入式操作系統(tǒng)的任務(wù)調(diào)度方法,其特征在于系統(tǒng)的 進程控制塊的進程信息包括任務(wù)類型,用于標(biāo)識實時任務(wù)和非實時任務(wù); 現(xiàn)場信息,用于保存調(diào)度過程中的各種現(xiàn)場信息; 控制信息,用于進程的調(diào)度和管理。
3.根據(jù)權(quán)利要求2所述的一種嵌入式操作系統(tǒng)的任務(wù)調(diào)度方法,其特征在于所述現(xiàn) 場信息包括通用寄存器的內(nèi)容、控制寄存器的內(nèi)容、用戶堆棧指針、系統(tǒng)堆棧指針。
4.根據(jù)權(quán)利要求2所述的一種嵌入式操作系統(tǒng)的任務(wù)調(diào)度方法,其特征在于所述控 制信息包括進程調(diào)度的相關(guān)信息、進程間通信的相關(guān)信息、資源的使用信息。
全文摘要
一種嵌入式操作系統(tǒng)的任務(wù)調(diào)度方法,(1)時間片的分配,時間片記錄任務(wù)處于就緒狀態(tài)的時間;(2)實時可搶占的任務(wù)調(diào)度,當(dāng)系統(tǒng)調(diào)度定時器中斷后,遍歷就緒任務(wù)隊列,找出是否有比當(dāng)前任務(wù)更改優(yōu)先級的就緒狀態(tài)任務(wù),如果有則運行切換到改任務(wù)運行,把當(dāng)前任務(wù)置位就緒態(tài)后掛起;(3)類時間片輪的任務(wù)調(diào)度,當(dāng)任務(wù)就緒時調(diào)度定時器每次中斷后,在當(dāng)前沒有需要實時搶占運行的任務(wù)時,掃描就緒任務(wù)隊列,把當(dāng)前就緒的任務(wù)就緒狀態(tài)計數(shù)加1,同時找出就緒時間最長的任務(wù)執(zhí)行,同時清除其就緒計數(shù);(4)信號量超時觸發(fā)調(diào)度,當(dāng)信號量到達或者超時時,立即觸發(fā)等待該信號量的任務(wù)運行。保證實時性的前提下又能保證各個任務(wù)都有被調(diào)度的機會。
文檔編號G06F9/48GK102043667SQ201010565259
公開日2011年5月4日 申請日期2010年11月25日 優(yōu)先權(quán)日2010年11月25日
發(fā)明者楊進 申請人:深圳市科陸電子科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1