国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

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

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


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