欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

操作系統(tǒng)的任務調度方法、裝置及計算機的制作方法

文檔序號:6352949閱讀:472來源:國知局
專利名稱:操作系統(tǒng)的任務調度方法、裝置及計算機的制作方法
技術領域
本發(fā)明涉及嵌入式實時操作系統(tǒng),具體而言,尤其涉及一種操作系統(tǒng)的任務調度方法、裝置及計算機。
背景技術
嵌入式實時操作系統(tǒng)是一種能在確定時間內完成系統(tǒng)功能,并且對內部,外部事件能做出及時響應的系統(tǒng)。任務調度是操作系統(tǒng)的核心功能之一,其主要功能是依據(jù)某一準則選擇某個已就緒的任務,并跳入這個任務中執(zhí)行。調度器就是完成任務調度功能的模塊。大多嵌入式實時操作系統(tǒng)基于優(yōu)先級進行調度,具體為操作系統(tǒng)為每個任務分配一個優(yōu)先級,調度器從已經就緒的各個任務中,選擇優(yōu)先級最高的任務執(zhí)行。目前,嵌入式實時操作系統(tǒng)調度器的實現(xiàn)方法較多的借鑒或改進μ C/0S-II提出的分組映射表的方法來實現(xiàn)在穩(wěn)定時間內找到待執(zhí)行的任務,其實現(xiàn)上,先采用分組映射表來找到就緒態(tài)任務的最高優(yōu)先級;再對于每個優(yōu)先級維護了各自任務鏈表,同一優(yōu)先級的任務按照先進先出(First-in,F(xiàn)irst-out)原則從鏈表中插入/刪除。這樣實現(xiàn)了對多個任務可以使用同一優(yōu)先級這個特性的支持。但是,通過分組映射表的查找方法需要消耗額外的數(shù)據(jù)空間,并且優(yōu)先級的數(shù)目也受到限制。因此,目前現(xiàn)有技術的操作系統(tǒng)中的任務調度方法需要消耗額外的數(shù)據(jù)存儲空間,并且優(yōu)先級與任務一一對應,不夠靈活。

發(fā)明內容
本發(fā)明的主要目的在于提供一種操作系統(tǒng)的任務調度方法、裝置及計算機,以解決現(xiàn)有技術的操作系統(tǒng)中的任務調度方法需要消耗額外的數(shù)據(jù)存儲空間,以及同一優(yōu)先級下支持多個任務的問題。為了實現(xiàn)上述目的,根據(jù)本發(fā)明的一方面,提供了一種操作系統(tǒng)的任務調度方法。根據(jù)本發(fā)明的操作系統(tǒng)的任務調度方法包括通過任務狀態(tài)的轉換來觸發(fā)調度操作系統(tǒng)的任務;根據(jù)任務的優(yōu)先級在任務索引表中獲取該任務對應的鏈接索引;根據(jù)鏈接索引更新任務在就緒任務鏈表中的位置。進一步地,在根據(jù)任務的優(yōu)先級在任務索引表中獲取該任務對應的鏈接索引的步驟之前,方法還包括創(chuàng)建任務索引表,任務索引表包括一個或多個索引記錄,每個索引記錄用于記錄一個優(yōu)先級所對應的第一個和最后一個任務節(jié)點在就緒任務鏈表中的鏈接索引,其中,任意一個優(yōu)先級對應一個或多個任務節(jié)點,每個任務節(jié)點分別對應唯一一個優(yōu)先級。進一步地,根據(jù)鏈接索引更新任務在就緒任務鏈表中的位置的步驟包括獲取鏈接索引表征的任務在就緒任務鏈表中的節(jié)點位置,就緒任務鏈表用于記錄各個優(yōu)先級任務的節(jié)點位置;將任務插入或移除節(jié)點位置。
進一步地,在根據(jù)鏈接索引更新任務在就緒任務鏈表中的位置的步驟之后,方法還包括根據(jù)任務在就緒任務鏈表中的新位置,獲取任務索引表中該優(yōu)先級任務的新鏈接索引,將原來的鏈接索引更換為新連接索引。進一步地,在通過任務狀態(tài)的轉換來觸發(fā)調度操作系統(tǒng)的任務的步驟之后,方法還包括判斷任務狀態(tài)的轉換是否切換成功,其中,當任務狀態(tài)切換失敗,同時切換為延時狀態(tài),則將任務插入延時任務鏈表中,否則觸發(fā)調度操作系統(tǒng)的任務的步驟成功。進一步地,在延時狀態(tài)的時刻到達或超時的情況下,任務切換成功。為了實現(xiàn)上述目的,根據(jù)本發(fā)明的另一個方面,提供了一種操作系統(tǒng)的任務調度
直ο根據(jù)本發(fā)明的操作系統(tǒng)的任務調度裝置包括觸發(fā)模塊,用于通過任務狀態(tài)的轉換來觸發(fā)調度操作系統(tǒng)的任務;調度模塊,用于根據(jù)任務的優(yōu)先級在任務索引表中獲取該任務對應的鏈接索引;第一更新模塊,用于根據(jù)鏈接索引更新任務在就緒任務鏈表中的位置。進一步地,裝置還包括創(chuàng)建模塊,用于創(chuàng)建任務索引表,任務索引表包括一個或多個索引記錄,每個索引記錄用于記錄一個優(yōu)先級所對應的第一個和最后一個任務節(jié)點在就緒任務鏈表中的鏈接索引,其中,任意一個優(yōu)先級對應一個或多個任務節(jié)點,每個任務節(jié)點分別對應唯一一個優(yōu)先級。進一步地,第一更新模塊包括獲取模塊,用于獲取鏈接索引表征的任務在就緒任務鏈表中的節(jié)點位置,就緒任務鏈表用于記錄各個優(yōu)先級任務的節(jié)點位置;變更模塊,用于將任務插入或移除節(jié)點位置。進一步地,裝置還包括第二更新模塊,用于根據(jù)任務在就緒任務鏈表中的新位置,獲取任務索引表中該優(yōu)先級任務的新鏈接索引,將原來的鏈接索引更換為新連接索引。進一步地,裝置還包括判斷模塊,用于判斷任務狀態(tài)的轉換是否切換成功,其中,當任務狀態(tài)切換失敗,同時切換為延時狀態(tài),則將任務插入延時任務鏈表中,否則觸發(fā)調度操作系統(tǒng)的任務的步驟成功,其中,在延時狀態(tài)的時刻到達或超時的情況下,任務切換成功。為了實現(xiàn)上述目的,根據(jù)本發(fā)明的再一方面,提供了一種計算機。該計算機包括上述任意一種操作系統(tǒng)的任務調度裝置。通過本發(fā)明,采用通過任務狀態(tài)的轉換來觸發(fā)調度操作系統(tǒng)的任務;根據(jù)任務的優(yōu)先級在任務索引表中獲取該任務對應的鏈接索引;根據(jù)鏈接索引更新任務在就緒任務鏈表中的位置,解決了現(xiàn)有技術的操作系統(tǒng)中的任務調度方法需要消耗額外的數(shù)據(jù)存儲空間,以及同一優(yōu)先級下支持多個任務的問題,進而達到了實現(xiàn)簡單,靈活高效的任務調度方法,提高了操作系統(tǒng)任務調度的工作效率的效果。


此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本發(fā)明的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中圖1是根據(jù)本發(fā)明實施例的操作系統(tǒng)的任務調度方法的流程圖;圖2是根據(jù)圖1所示實施例的任務狀態(tài)遷移圖3是根據(jù)本發(fā)明實施例的就緒任務鏈表和任務索引表結構圖;圖4是根據(jù)本發(fā)明實施例的任意任務由就緒狀態(tài)轉入運行狀態(tài)時的任務鏈表和任務索引表的變化結構圖;圖5是根據(jù)本發(fā)明實施例的任意任務由阻塞狀態(tài)轉入就緒狀態(tài)時的任務鏈表和任務索引表的變化結構圖;圖6是根據(jù)本發(fā)明實施例的任意任務由就緒狀態(tài)轉入阻塞狀態(tài)時的任務鏈表和任務索引表的變化結構圖;圖7是根據(jù)本發(fā)明實施例的任意任務等待超時后進入就緒狀態(tài)時任務鏈表和任務索引表的變化結構圖;圖8是根據(jù)本發(fā)明實施例的操作系統(tǒng)的任務調度裝置的結構示意圖。
具體實施例方式為了使本發(fā)明所要解決的技術問題、技術方案及有益效果更加清楚、明白,以下結合附圖和實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明提供了一種操作系統(tǒng)的任務調度方法。圖1是根據(jù)本發(fā)明實施例的操作系統(tǒng)的任務調度方法的流程圖。如圖1所示,該操作系統(tǒng)的任務調度方法包括如下步驟步驟S102,通過任務狀態(tài)的轉換來觸發(fā)調度操作系統(tǒng)的任務。步驟S104,根據(jù)任務的優(yōu)先級在任務索引表中獲取該任務對應的鏈接索引。該步驟實現(xiàn)建立被調度任務的調度索引表,不同優(yōu)先級的任務對應不同的調度命令,即對應不同的鏈接位置。步驟S106,根據(jù)鏈接索引更新任務在就緒任務鏈表中的位置。該步驟實現(xiàn)通過任務索引表記錄的鏈接索引來統(tǒng)一管理就緒任務鏈表中該任務的節(jié)點位置,實現(xiàn)系統(tǒng)可以高效的獲取任務此時的調度狀態(tài),而不需要額外的按照優(yōu)先級維護多個任務鏈表。本發(fā)明上述實施例通過維護就緒任務鏈表(基于先進先出原則)和優(yōu)先級任務索引表的方式實現(xiàn)對任務的調度,首先通過創(chuàng)建并管理任務索引表來保存不同優(yōu)先級任務的鏈接索引,例如該鏈接索引可以為該任務提供對應的插入就緒任務鏈表的位置信息,使得該任務在從掛起狀態(tài)轉為就緒狀態(tài)時,只需要先獲取該任務的位置信息即可確定該任務處于就緒狀態(tài),以便系統(tǒng)進行運行該任務,節(jié)省了存儲空間。本發(fā)明上述實施例的在根據(jù)任務的優(yōu)先級在任務索引表中獲取該任務對應的鏈接索引的步驟之前,方法還可以包括創(chuàng)建任務索引表,任務索引表包括一個或多個索引記錄,每個索引記錄用于記錄一個優(yōu)先級所對應的第一個和最后一個任務節(jié)點在就緒任務鏈表中的鏈接索引,其中,任意一個優(yōu)先級對應一個或多個任務節(jié)點,每個任務節(jié)點分別對應唯一一個優(yōu)先級。該實施例可以實現(xiàn)為不同的優(yōu)先級任務建立不同的鏈接命令,采用的雙向鏈表技術占用空間較少。優(yōu)選的,根據(jù)鏈接索引更新任務在就緒任務鏈表中的位置的步驟包括獲取鏈接索引表征的任務在就緒任務鏈表中的節(jié)點位置,就緒任務鏈表用于記錄各個優(yōu)先級任務的節(jié)點位置;將任務插入或移除節(jié)點位置。該實施例可以實現(xiàn)當任務從就緒狀態(tài)轉為掛起狀態(tài)時只需將就緒任務鏈表中的該節(jié)點的位置信息刪除,或者在任務從掛起狀態(tài)轉為就緒狀態(tài)時,只需改變指針指向的節(jié)點位置就實現(xiàn)在就緒任務鏈表中增加該任務,該方法簡單高效、不占用額外的存儲空間。本發(fā)明上述實施例中在根據(jù)鏈接索引更新任務在就緒任務鏈表中的位置的步驟之后,方法還可以包括根據(jù)任務在就緒任務鏈表中的新位置,獲取任務索引表中該優(yōu)先級任務的新鏈接索引,將原來的鏈接索引更換為新連接索引。其中,在通過任務狀態(tài)的轉換來觸發(fā)調度操作系統(tǒng)的任務的步驟之后,該實施例可以執(zhí)行判斷任務狀態(tài)的轉換是否切換成功,其中,當任務狀態(tài)切換失敗,同時切換為延時狀態(tài),則將任務插入延時任務鏈表中,否則觸發(fā)調度操作系統(tǒng)的任務的步驟成功。優(yōu)選的,上述實施例中在延時狀態(tài)的時刻到達或超時的情況下,任務切換為成功。本發(fā)明上述實施例所描繪的任務調度的實現(xiàn)方法,即實現(xiàn)上述所提到的按照特點任務調度規(guī)則(即按照任務的優(yōu)先級進行任務調度),找到相應任務執(zhí)行的方法,支持多個相同優(yōu)先級的任務,以及任務優(yōu)先級的調整。本發(fā)明提出的調度方法實現(xiàn)簡單,耗時穩(wěn)定且靈活高效。下面將結合實例對本發(fā)明實施例的實現(xiàn)過程進行詳細描述。圖2是根據(jù)圖1所示實施例的任務狀態(tài)遷移圖。本發(fā)明通過維護就緒任務鏈表(基于先進先出原則)和優(yōu)先級任務索引表的方式實現(xiàn)對任務的調度。包含任務狀態(tài)轉換和任務調度,如圖2所示,操作系統(tǒng)根據(jù)任務的狀態(tài)轉換來描述任務調度的實現(xiàn)過程如下首先,系統(tǒng)創(chuàng)建任務并設置任務狀態(tài),優(yōu)先級等信息,并以此賦值任務控制塊(TCB. Tack Control Block)。任務的基本狀態(tài)可以分為以下三種運行狀態(tài)(Rurming)Jl塞狀態(tài)(Pending),就緒狀態(tài)(Ready)。如圖2所示,任務的上述三種狀態(tài)的遷移關系及觸發(fā)條件分別包括如下幾類情況就緒狀態(tài)轉換為運行狀態(tài)(Ready- > Running)的過程中,當前處于運行狀態(tài)Running的任務發(fā)生狀態(tài)遷移時,處于就緒狀態(tài)Ready的最高優(yōu)先級的任務將進入運行狀態(tài)Running。如果由多個任務處于此優(yōu)先級,那么根據(jù)先進先出原則(FIFO :First-in,F(xiàn)irst-out)選擇任務。運行狀態(tài)轉換為就緒狀態(tài)(Running- > Ready)的過程中,當更高優(yōu)先級任務就緒或者當前處于運行狀態(tài)Running的任務改變時,該任務可以在優(yōu)先級任務索引表中修改自身的優(yōu)先級。運行狀態(tài)轉換為阻塞狀態(tài)(Running- > Pending)的過程中,當前處于運行狀態(tài)Running的任務執(zhí)行如下動作等待某事件;調用延時函數(shù)(Delay)等待若干時間;掛起(Suspend)該任務;等待進入Pending態(tài)。就緒狀態(tài)轉換為阻塞狀態(tài)(Ready- > Pending)的過程中,當前的任務被掛起。阻塞狀態(tài)轉換為就緒狀態(tài)(Pending- > Ready)的過程中,當前處于阻塞狀態(tài)的任務執(zhí)行如下動作系統(tǒng)任務等待的事件發(fā)生;任務在掛起后(Suspended)被喚醒(Resume);此時如果任務延時時間到(Timeout)的情況下任務從阻塞狀態(tài)Pending進入就緒狀態(tài)Ready。其次,系統(tǒng)為就緒態(tài)的各個任務建立一個雙向鏈表,鏈表尾部指向Idle任務,該鏈表中的每個節(jié)點包含任務控制塊(TCB.Tack Control Block)和指向前后節(jié)點地址的前趨指針和后繼指針,通過該雙向鏈表實現(xiàn)任務的在三種狀態(tài)彼此之間執(zhí)行遷移動作時,確定該任務的在節(jié)點中的位置。另外,還需建立任務索引表,索引表為每個任務優(yōu)先級保留一份任務索引記錄,記錄這個優(yōu)先級的第一個和最后一個任務節(jié)點在就緒任務鏈表中的鏈接索引。任務調度時,系統(tǒng)通過直接查找到就緒任務鏈表中的首節(jié)點來產生任務各個狀態(tài)之間的切換。例如,當某任務由掛起狀態(tài)轉入就緒狀態(tài)時,根據(jù)自身優(yōu)先級從任務索引表找到需要插入就緒任務鏈表的節(jié)點位置,并將該任務插入節(jié)點位置對應的節(jié)點;當某任務由就緒態(tài)轉入掛起態(tài)時,則可以從就緒任務鏈表中刪除此節(jié)點,同時更新索引表記錄。另外的,如果某任務如果調用延時函數(shù),則將該任務插入延時任務鏈表中。每次定時中斷產生時,在中斷服務例程中依次把鏈表中任務的延時標記(tick數(shù)目)減一。如果某任務延時時刻到達(tick為0),則進入就緒態(tài),并插入就緒任務鏈表。本發(fā)明上述實施例中通過維護就緒任務鏈表(基于先進先出原則)和優(yōu)先級任務索引表的方式實現(xiàn)對任務的調度。其中,圖3是根據(jù)本發(fā)明實施例的就緒任務鏈表和任務索引表結構圖。具體如圖3所示,就緒任務鏈表中的每個節(jié)點包含任務控制塊(TCB.TackControl Block)和前后節(jié)點地址;相同優(yōu)先級(例如優(yōu)先級N或M等)的任務會按照FIFO原則鏈接在相鄰的節(jié)點上。任務索引表中的每個任務的鏈接索引記錄了就緒任務鏈表中相同優(yōu)先級(例如優(yōu)先級N或M等)的任務的第一個和最后一個節(jié)點的位置。當任務調度時,可以方便的根據(jù)鏈接索引記錄的節(jié)點位置來對就緒任務鏈表進行操作。下面就詳細描述發(fā)生任務調度時,該任務各個狀態(tài)之間的切換過程。圖4是根據(jù)本發(fā)明實施例的任意任務由就緒狀態(tài)轉入運行狀態(tài)時的任務鏈表和任務索引表的變化結構圖。當任務狀態(tài)發(fā)生由就緒狀態(tài)(Ready)轉入運行狀態(tài)(Riming)的遷移時,將觸發(fā)任務調度。此時,調度器直接找到就緒任務鏈表中的首節(jié)點,隨后產生任務切換。如圖4所示,具體可以包括如下步驟首先,調度器獲取到就緒狀態(tài)任務鏈表中的表頭節(jié)點;然后,將該表頭節(jié)點的next指針指向的第二個節(jié)點的pre指針指向空節(jié)點;再把當前節(jié)點next指針指向空節(jié)點;再更新表頭節(jié)點,將該第二個節(jié)點作為新的表頭結點;最后,更新任務索引表的索引記錄,將任務索引表中第一節(jié)點位置指向該更新后的表頭節(jié)點(即第二個節(jié)點)。圖5是根據(jù)本發(fā)明實施例的任意任務由阻塞狀態(tài)轉入就緒狀態(tài)時的任務鏈表和任務索引表的變化結構圖。當某個任務由阻塞狀態(tài)(Pending)轉入就緒狀態(tài)(Ready)時,根據(jù)自身優(yōu)先級從任務索引表找到需要插入就緒任務鏈表的節(jié)點位置,插入節(jié)點。如圖5所示,具體可以包括如下步驟首先,根據(jù)任務自身的優(yōu)先級獲得任務索引表的任務索引記錄,即獲取任務索引表中該優(yōu)先級的節(jié)點的鏈接地址;其次,可以通過索引記錄得到相同優(yōu)先級最后一個任務的節(jié)點;然后,該節(jié)點可以把自身節(jié)點的next指針指向不相同優(yōu)先級的第一個任務節(jié)點的pre指針指向的任務;同時,把同優(yōu)先級原來的最后一個任務節(jié)點的next指針指向自身節(jié)點的pre指針;最后,更新任務索引表中的記錄。圖6是根據(jù)本發(fā)明實施例的任意任務由就緒狀態(tài)轉入阻塞狀態(tài)時的任務鏈表和任務索引表的變化結構圖。當某個任務由就緒狀態(tài)轉入阻塞狀態(tài)時,從就緒任務鏈表中刪除此節(jié)點,同時更新索引表記錄。如圖6所示,具體可以包括如下步驟首先,獲得自身的任務控制塊(TCB)節(jié)點;然后,把當前節(jié)點中的pre指針所指向的前一個節(jié)點的next指針指向當前節(jié)點的next指針所指向的任務控制塊節(jié)點;此時,在當前節(jié)點是任務索引表記錄中記錄的這個優(yōu)先級的最后一個任務節(jié)點,更新任務索引表中的記錄。圖7是根據(jù)本發(fā)明實施例的任意任務等待超時后進入就緒狀態(tài)時任務鏈表和任務索引表的變化結構圖。當某個任務被延時,則插入延時任務鏈表中。每次定時中斷產生時,在中斷服務例程中依次把鏈表中任務的延時tick標記減一。如果某個任務延時時刻到(tick為0),則進入就緒態(tài),并插入就緒任務鏈表。如圖7所示,具體的可以包括如下步驟首先,系統(tǒng)從延時任務鏈表中刪除此任務節(jié)點;然后根據(jù)超時任務的優(yōu)先級從任務索引表中獲得同優(yōu)先級任務節(jié)點索引;再把超時任務節(jié)點的next指針指向相同優(yōu)先級的最后一個任務節(jié)點的next指針指向的任務節(jié)點;同時,將相同優(yōu)先級的最后一個任務節(jié)點的next指針指向超時任務節(jié)點;并把超時任務的pre指針指向相同優(yōu)先級的最后一個任務的節(jié)點;最后執(zhí)行更新任務索引表的記錄的步驟。需要說明的是,本發(fā)明實施例在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。圖8是根據(jù)本發(fā)明實施例的操作系統(tǒng)的任務調度裝置的結構示意圖。如圖8所示,該裝置包括觸發(fā)模塊801、調度模塊803以及第一更新模塊805。其中,觸發(fā)模塊801,用于通過任務狀態(tài)的轉換來觸發(fā)調度操作系統(tǒng)的任務;調度模塊803,用于根據(jù)任務的優(yōu)先級在任務索引表中獲取該任務對應的鏈接索引;第一更新模塊805,用于根據(jù)鏈接索引更新任務在就緒任務鏈表中的位置。上述實施例中的觸發(fā)模塊801可以實現(xiàn)圖1中步驟S102的功能,調度模塊803可以來實現(xiàn)圖1中步驟S104的功能,第一更新模塊805可以實現(xiàn)圖1中步驟S106的功能。通過該裝置通過維護就緒任務鏈表(基于先進先出原則)和優(yōu)先級任務索引表的方式實現(xiàn)對任務的調度,根據(jù)調度模塊803中的鏈接索引來確定所要調度的任務在狀態(tài)切換后的節(jié)點位置,例如該鏈接索引可以為該任務提供對應的插入就緒任務鏈表的位置信息,使得該任務在從掛起狀態(tài)轉為就緒狀態(tài)時,只需要先獲取該任務的位置信息即可確定該任務處于就緒狀態(tài)。本發(fā)明的上述裝置節(jié)省了數(shù)據(jù)存儲空間、提高了系統(tǒng)的調度效率。實現(xiàn)簡單,耗時穩(wěn)定,靈活高效的任務調度實現(xiàn)方法。優(yōu)選的,該裝置還可以包括創(chuàng)建模塊807,用于創(chuàng)建任務索引表,任務索引表包括一個或多個索引記錄,每個索引記錄用于記錄一個優(yōu)先級所對應的第一個和最后一個任務節(jié)點在就緒任務鏈表中的鏈接索引,其中,任意一個優(yōu)先級對應一個或多個任務節(jié)點,每個任務節(jié)點分別對應唯一一個優(yōu)先級。優(yōu)選的,第一更新模塊805可以包括獲取模塊8051,用于獲取鏈接索引表征的任務在就緒任務鏈表中的節(jié)點位置,就緒任務鏈表用于記錄各個優(yōu)先級任務的節(jié)點位置;變更模塊8052,用于將任務插入或移除節(jié)點位置。優(yōu)選的,本發(fā)明上述裝置還可以包括第二更新模塊809,用于根據(jù)任務在就緒任務鏈表中的新位置,獲取任務索引表中該優(yōu)先級任務的新鏈接索引,將原來的鏈接索引更換為新連接索引。優(yōu)選的,本發(fā)明上述裝置還可以包括判斷模塊811,用于判斷任務狀態(tài)的轉換是否切換成功,其中,當任務狀態(tài)切換失敗,同時切換為延時狀態(tài),則將任務插入延時任務鏈表中,否則觸發(fā)調度操作系統(tǒng)的任務的步驟成功,其中,在延時狀態(tài)的時刻到達或超時的情況下,任務切換成功。為了實現(xiàn)上述目的,本發(fā)明還提供了一種計算機。該計算機包括上述任意一種操作系統(tǒng)的任務調度裝置。從以上的實施例描述中,可以看出,本發(fā)明實現(xiàn)了如下技術效果本發(fā)明所述任務調度的實現(xiàn)方法,調度延時穩(wěn)定,運行高效,并支持多個相同優(yōu)先級的任務,以及任務優(yōu)先級的調整。在靈活性得到提高的同時,也減少了數(shù)據(jù)空間的使用。實現(xiàn)簡單,耗時穩(wěn)定,靈活高效的任務調度實現(xiàn)方法,并支持多個相同優(yōu)先級的任務,以及任務優(yōu)先級的調整。顯然,本領域的技術人員應該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網絡上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,或者將它們分別制作成多個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結合。上述說明示出并描述了本發(fā)明的一個優(yōu)選實施例,但如前所述,應當理解本發(fā)明并非局限于本文所披露的形式,不應看作是對其他實施例的排除,而可用于各種其他組合、修改和環(huán)境,并能夠在本文所述發(fā)明構想范圍內,通過上述教導或相關領域的技術或知識進行改動。而本領域人員所進行的改動和變化不脫離本發(fā)明的精神和范圍,則都應在本發(fā)明所附權利要求的保護范圍內。
權利要求
1.一種操作系統(tǒng)的任務調度方法,其特征在于,包括通過任務狀態(tài)的轉換來觸發(fā)調度操作系統(tǒng)的任務;根據(jù)所述任務的優(yōu)先級在任務索引表中獲取該任務對應的鏈接索引;根據(jù)所述鏈接索引更新所述任務在就緒任務鏈表中的位置。
2.根據(jù)權利要求1所述的方法,其特征在于,在根據(jù)所述任務的優(yōu)先級在任務索引表中獲取該任務對應的鏈接索引的步驟之前,所述方法還包括創(chuàng)建所述任務索引表,所述任務索引表包括一個或多個索引記錄,每個所述索引記錄用于記錄一個優(yōu)先級所對應的第一個和最后一個任務節(jié)點在所述就緒任務鏈表中的鏈接索引,其中,任意一個優(yōu)先級對應一個或多個所述任務節(jié)點,每個所述任務節(jié)點分別對應唯一一個所述優(yōu)先級。
3.根據(jù)權利要求2所述的方法,其特征在于,根據(jù)所述鏈接索引更新所述任務在就緒任務鏈表中的位置的步驟包括獲取所述鏈接索引表征的所述任務在所述就緒任務鏈表中的節(jié)點位置,所述就緒任務鏈表用于記錄各個優(yōu)先級任務的節(jié)點位置;將所述任務插入或移除所述節(jié)點位置。
4.根據(jù)權利要求1-3中任一項所述的方法,其特征在于,在根據(jù)所述鏈接索引更新所述任務在就緒任務鏈表中的位置的步驟之后,所述方法還包括根據(jù)所述任務在所述就緒任務鏈表中的新位置,獲取所述任務索引表中該優(yōu)先級任務的新鏈接索引,將原來的所述鏈接索引更換為所述新連接索引。
5.根據(jù)權利要求1所述的方法,其特征在于,在通過任務狀態(tài)的轉換來觸發(fā)調度操作系統(tǒng)的任務的步驟之后,所述方法還包括判斷所述任務狀態(tài)的轉換是否切換成功,其中,當所述任務狀態(tài)切換失敗,同時切換為延時狀態(tài),則將所述任務插入延時任務鏈表中,否則所述觸發(fā)調度操作系統(tǒng)的任務的步驟成功。
6.根據(jù)權利要求5所述的方法,其特征在于,在所述延時狀態(tài)的時刻到達或超時的情況下,所述任務切換成功。
7.一種操作系統(tǒng)的任務調度裝置,其特征在于,包括觸發(fā)模塊,用于通過任務狀態(tài)的轉換來觸發(fā)調度操作系統(tǒng)的任務;調度模塊,用于根據(jù)所述任務的優(yōu)先級在任務索引表中獲取該任務對應的鏈接索引;第一更新模塊,用于根據(jù)所述鏈接索引更新所述任務在就緒任務鏈表中的位置。
8.根據(jù)權利要求7所述的裝置,其特征在于,所述裝置還包括創(chuàng)建模塊,用于創(chuàng)建所述任務索引表,所述任務索引表包括一個或多個索引記錄,每個所述索引記錄用于記錄一個優(yōu)先級所對應的第一個和最后一個任務節(jié)點在所述就緒任務鏈表中的鏈接索引,其中,任意一個優(yōu)先級對應一個或多個所述任務節(jié)點,每個所述任務節(jié)點分別對應唯一一個所述優(yōu)先級。
9.根據(jù)權利要求8所述的裝置,其特征在于,所述第一更新模塊包括獲取模塊,用于獲取所述鏈接索引表征的所述任務在所述就緒任務鏈表中的節(jié)點位置,所述就緒任務鏈表用于記錄各個優(yōu)先級任務的節(jié)點位置;變更模塊,用于將所述任務插入或移除所述節(jié)點位置。
10.根據(jù)權利要求7所述的裝置,其特征在于,所述裝置還包括第二更新模塊,用于根據(jù)所述任務在所述就緒任務鏈表中的新位置,獲取所述任務索引表中該優(yōu)先級任務的新鏈接索引,將原來的所述鏈接索引更換為所述新連接索引。
11.根據(jù)權利要求7所述的裝置,其特征在于,所述裝置還包括判斷模塊,用于判斷所述任務狀態(tài)的轉換是否切換成功,其中,當所述任務狀態(tài)切換失敗,同時切換為延時狀態(tài),則將所述任務插入延時任務鏈表中,否則所述觸發(fā)調度操作系統(tǒng)的任務的步驟成功,其中,在所述延時狀態(tài)的時刻到達或超時的情況下,所述任務切換成功。
12.—種計算機,其特征在于,包括權利要求7-11中任意一項所述的操作系統(tǒng)的任務調度裝置。
全文摘要
本發(fā)明公開了一種操作系統(tǒng)的任務調度方法、裝置及計算機,其中,該方法包括通過任務狀態(tài)的轉換來觸發(fā)調度操作系統(tǒng)的任務;根據(jù)任務的優(yōu)先級在任務索引表中獲取該任務對應的鏈接索引;根據(jù)鏈接索引更新任務在就緒任務鏈表中的位置。通過本發(fā)明,能夠實現(xiàn)簡單,靈活高效的任務調度方法,提高了操作系統(tǒng)任務調度的工作效率。
文檔編號G06F9/46GK102591703SQ20111000386
公開日2012年7月18日 申請日期2011年1月10日 優(yōu)先權日2011年1月10日
發(fā)明者熊赟 申請人:中興通訊股份有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
囊谦县| 乌审旗| 海淀区| 广宗县| 东阿县| 若羌县| 玉龙| 龙山县| 周至县| 调兵山市| 化德县| 泾川县| 金坛市| 武邑县| 兴国县| 丹棱县| 清原| 开原市| 凯里市| 铜梁县| 西吉县| 淮南市| 阿坝| 江川县| 平和县| 察隅县| 和林格尔县| 子长县| 永春县| 虞城县| 丰台区| 武功县| 繁峙县| 玉门市| 江津市| 呼和浩特市| 乌审旗| 保定市| 循化| 临夏市| 绥化市|