專利名稱:任務(wù)管理系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于防止由于對資源的訪問之間的沖突引起的不便的技術(shù),所述資源在可執(zhí)行的任務(wù)之間需要排他的控制,諸如各種輸入/輸出處理。
背景技術(shù):
迄今為止已知一種這樣的技術(shù)(參考,例如,專利文獻(xiàn)1),其用于以依照任務(wù)的優(yōu)先級等切換任務(wù)的方式來執(zhí)行所述任務(wù)。
(專利文獻(xiàn)1)日本專利申請公開公告2001-236236。
如果發(fā)生訪問在可執(zhí)行的任務(wù)之間需要諸如各種輸入/輸出處理的排他控制的資源之間的沖突,然而,如同現(xiàn)有技術(shù)所做的,當(dāng)簡單地切換所述任務(wù)時,因為所述沖突的發(fā)生,不能執(zhí)行正確的處理。進(jìn)一步地,當(dāng)為了避免這種情形而對發(fā)生訪問沖突的資源簡單地進(jìn)行排他控制時,會發(fā)生意外的時間延遲,并且也可能存在這樣的可能性,即不能遵守設(shè)置的截止期限。
發(fā)明內(nèi)容
本發(fā)明的一個目的是提供一種這樣的技術(shù),其用于確保已經(jīng)更早進(jìn)行訪問的任務(wù)的資源分配并且還確保每一個任務(wù)的資源分配的截止期限,即使在這種情況下,即發(fā)生訪問在可執(zhí)行的任務(wù)之間需要諸如各種輸入/輸出處理的排他控制的資源之間的沖突。
本發(fā)明被設(shè)計用于解決上述問題,是一種任務(wù)管理系統(tǒng),其包括判定單元,對于獲得對指定資源的訪問的注冊對象任務(wù),判定是否即使當(dāng)注冊所述注冊對象任務(wù)時所述任務(wù)的執(zhí)行起始時刻(execution start timing)被延遲,該任務(wù)的執(zhí)行也能夠在其截止期限時間(deadline time)經(jīng)過之前被完成;注冊單元,用于將所述判定為在所述截止期限時間經(jīng)過之前完成其執(zhí)行的注冊對象任務(wù)注冊為執(zhí)行對象任務(wù);以及控制單元,用于當(dāng)切換所述任務(wù)時,在被注冊為執(zhí)行對象任務(wù)的任務(wù)中,暫停對于隨后試圖訪問指定資源的任務(wù)的資源分配,直到完成對已經(jīng)更早訪問所述指定資源的任務(wù)的資源分配。
根據(jù)本發(fā)明,對于訪問指定資源(例如,在可執(zhí)行的任務(wù)之間需要諸如各種輸入/輸出處理的排他控制的資源)的注冊對象任務(wù),判定是否即使當(dāng)注冊所述注冊對象任務(wù)時所述任務(wù)的執(zhí)行起始時刻被延遲,該任務(wù)的執(zhí)行也能夠在其截止時間經(jīng)過之前被完成。被判定為可以在所述截止期限時間經(jīng)過之前完成其執(zhí)行的注冊對象任務(wù)被注冊為執(zhí)行對象任務(wù)。然后,當(dāng)切換所述任務(wù)時,在被注冊執(zhí)行對象任務(wù)的任務(wù)中,暫停對于隨后試圖訪問指定資源的任務(wù)的資源分配,直到完成對已經(jīng)更早訪問指定資源的任務(wù)的資源分配。于是,即使在對指定資源的訪問之間發(fā)生沖突,能夠確保已經(jīng)更早進(jìn)行訪問的任務(wù)的資源分配,并且還能夠確保對每一個任務(wù)的資源分配的截止期限。
進(jìn)一步地,本發(fā)明還可以被說明如下。
一種任務(wù)管理系統(tǒng),包括判定單元,對于獲得對指定資源的訪問的注冊對象任務(wù),判定是否即使當(dāng)注冊所述注冊對象任務(wù)時所述任務(wù)的執(zhí)行起始時刻被延遲,該任務(wù)的執(zhí)行也能夠在其截止期限時間經(jīng)過之前被完成;注冊單元,用于將所述判定為在所述截止期限時間經(jīng)過之前完成其執(zhí)行的注冊對象任務(wù)注冊為執(zhí)行對象任務(wù);執(zhí)行單元,用于在被注冊為執(zhí)行對象任務(wù)的任務(wù)中,優(yōu)先地執(zhí)行具有更短的截止期限時間的任務(wù);以及控制單元,用于當(dāng)切換所述任務(wù)時,在被注冊為執(zhí)行對象任務(wù)的任務(wù)中,暫停對于隨后試圖訪問指定資源的任務(wù)的資源分配,直到完成對已經(jīng)更早訪問所述指定資源的任務(wù)的資源分配。
更進(jìn)一步地,可以通過方法發(fā)明的方式對本發(fā)明說明如下。
一種任務(wù)管理方法,包括這樣的步驟,對于獲得對指定資源的訪問的注冊對象任務(wù),判定是否即使當(dāng)注冊所述注冊對象任務(wù)時所述任務(wù)的執(zhí)行起始時刻被延遲,該任務(wù)的執(zhí)行也能夠在其截止期限時間經(jīng)過之前被完成;這樣的步驟,將所述判定為在所述截止期限時間經(jīng)過之前完成其執(zhí)行的注冊對象任務(wù)注冊為執(zhí)行對象任務(wù);以及這樣的步驟,當(dāng)切換所述任務(wù)時,在被注冊為執(zhí)行對象任務(wù)的任務(wù)中,暫停對于隨后試圖訪問指定資源的任務(wù)的資源分配,直到完成對已經(jīng)更早訪問所述指定資源的任務(wù)的資源分配。
一種任務(wù)管理方法包括這樣的步驟,對于獲得對指定資源的訪問的注冊對象任務(wù),判定是否即使當(dāng)注冊所述注冊對象任務(wù)時所述任務(wù)的執(zhí)行起始時刻被延遲,該任務(wù)的執(zhí)行也能夠在其截止期限時間經(jīng)過之前被完成;這樣的步驟,將所述判定為在所述截止期限時間經(jīng)過之前完成其執(zhí)行的注冊對象任務(wù)注冊為執(zhí)行對象任務(wù);這樣的步驟,在被注冊為執(zhí)行對象任務(wù)的任務(wù)中,優(yōu)先地執(zhí)行具有更短的截止期限時間的任務(wù);以及這樣的步驟,當(dāng)切換所述任務(wù)時,在被注冊為執(zhí)行對象任務(wù)的任務(wù)中,暫停對于隨后試圖訪問指定資源的任務(wù)的資源分配,直到完成對已經(jīng)更早訪問所述指定資源的任務(wù)的資源分配。
再進(jìn)一步地,可以通過程序發(fā)明的方式對本發(fā)明說明如下。
一種程序,用于使得計算機(jī)執(zhí)行這樣的步驟,對于獲得對指定資源的訪問的注冊對象任務(wù),判定是否即使當(dāng)注冊所述注冊對象任務(wù)時所述任務(wù)的執(zhí)行起始時刻被延遲,該任務(wù)的執(zhí)行也能夠在其截止期限時間經(jīng)過之前被完成;這樣的步驟,將所述判定為在所述截止期限時間經(jīng)過之前完成其執(zhí)行的注冊對象任務(wù)注冊為執(zhí)行對象任務(wù);這樣的步驟,在被注冊為執(zhí)行對象任務(wù)的任務(wù)中,優(yōu)先地執(zhí)行具有更短的截止期限時間的任務(wù);以及這樣的步驟,當(dāng)切換所述任務(wù)時,在被注冊為執(zhí)行對象任務(wù)的任務(wù)中,暫停對于隨后試圖訪問指定資源的任務(wù)的資源分配,直到完成對已經(jīng)更早訪問所述指定資源的任務(wù)的資源分配。
一種程序,用于使得計算機(jī)執(zhí)行這樣的步驟,對于獲得對指定資源的訪問的注冊對象任務(wù),判定是否即使當(dāng)注冊所述注冊對象任務(wù)時所述任務(wù)的執(zhí)行起始時刻被延遲,該任務(wù)的執(zhí)行也能夠在其截止期限時間經(jīng)過之前被完成;這樣的步驟,將所述判定為在所述截止期限時間經(jīng)過之前完成其執(zhí)行的注冊對象任務(wù)注冊為執(zhí)行對象任務(wù);這樣的步驟,在被注冊為執(zhí)行對象任務(wù)的任務(wù)中,優(yōu)先地執(zhí)行具有更短的截止期限時間的任務(wù);以及這樣的步驟,當(dāng)切換所述任務(wù)時,在被注冊為執(zhí)行對象任務(wù)的任務(wù)中,暫停對于隨后試圖訪問指定資源的任務(wù)的資源分配,直到完成對已經(jīng)更早訪問所述指定資源的任務(wù)的資源分配。
此外,本發(fā)明還可以被描述為存儲有上述程序的計算機(jī)可讀存儲介質(zhì)。
圖1是本發(fā)明一個實(shí)施例的任務(wù)管理系統(tǒng)的系統(tǒng)架構(gòu)的概要的說明圖;圖2是在所述任務(wù)管理系統(tǒng)中注冊任務(wù)時的操作的說明性流程圖;圖3是說明圖,示出了關(guān)于任務(wù)可注冊性的判定的概念;圖4是說明圖,示出了關(guān)于所述任務(wù)可注冊性的所述判定的概念;圖5是在所述任務(wù)管理系統(tǒng)中切換任務(wù)時的操作的說明性流程圖。
具體實(shí)施例方式
在下文中將參照附圖通過本發(fā)明的一個實(shí)施例來描述任務(wù)管理系統(tǒng)。圖1是在本實(shí)施例中的任務(wù)管理系統(tǒng)的系統(tǒng)架構(gòu)的概要的說明圖。
(系統(tǒng)環(huán)境)通過諸如PDA(個人數(shù)字助理)、個人計算機(jī)等的一般類型的信息處理設(shè)備來實(shí)現(xiàn)在本實(shí)施例中的任務(wù)管理系統(tǒng)。如圖1所示,信息處理設(shè)備100包括CPU110,諸如硬盤裝置等的存儲裝置120,指定資源130,存儲器140等等。信息處理設(shè)備100可以進(jìn)一步包括用于輸入各條信息和指令的輸入裝置(例如,按鍵),用于顯示處理結(jié)果等的圖像顯示裝置(例如,液晶顯示器),聲音輸出裝置(例如,揚(yáng)聲器),等等(這些裝置未示出)。
(任務(wù)和操作系統(tǒng))任務(wù)141,其通常被稱作進(jìn)程或線程,是程序的執(zhí)行單元的總稱??梢栽谌蝿?wù)注冊時產(chǎn)生任務(wù)141,并且也可以如同本申請人在前述申請中所做的,預(yù)先產(chǎn)生(被匯集)任務(wù)141。任務(wù)141是,例如,QoS(服務(wù)質(zhì)量)任務(wù),其被定義為能夠控制所需資源量的可變?nèi)蝿?wù)。
操作系統(tǒng)(OS)142是,例如,實(shí)時OS,其具有通過DM(截止期限單調(diào)(Deadline Monotonic))方法對各任務(wù)141進(jìn)行調(diào)度的功能(作為調(diào)度程序)。在各調(diào)度時刻,在可執(zhí)行的任務(wù)141(相當(dāng)于根據(jù)本發(fā)明的執(zhí)行對象任務(wù))中,呈現(xiàn)最短截止期限時間的任務(wù)141被設(shè)為活動任務(wù)。基于任務(wù)信息表143對任務(wù)141的每一個進(jìn)行管理。任務(wù)信息表143是用于管理多條關(guān)于單個任務(wù)的信息的表。任務(wù)信息表143被注冊有多條關(guān)于任務(wù)141的信息,諸如任務(wù)標(biāo)識符143a、起動時間(start timing)143b、執(zhí)行分配時間143c、截止期限時間143d以及資源標(biāo)識符143e。
任務(wù)標(biāo)識符143a用于標(biāo)識每個任務(wù)141。起動時間143b是自從每個任務(wù)141的執(zhí)行起始時刻直到下一個執(zhí)行起始時刻的時段(周期(period))。當(dāng)執(zhí)行某個任務(wù)141時,在這個周期內(nèi)不會發(fā)生重新執(zhí)行該任務(wù)141。執(zhí)行分配時間143c被定義為分配給任務(wù)141的每一個的資源量(在此是CPU110的一段使用時間)。應(yīng)當(dāng)注意的是,不必在一段分配時間始終連續(xù)地分配所述資源給已經(jīng)一度分配了所述資源的任務(wù)141。可以任意次分別實(shí)現(xiàn)時間分配。進(jìn)一步地,如果被比某個任務(wù)141具有更高優(yōu)先級的不同的任務(wù)141搶先(preempt),中斷該任務(wù)141的處理。
如果在某段時間內(nèi)經(jīng)過了所述分配時間,則對所述系統(tǒng)沒有影響。這段時間就是截止期限時間143d。在本實(shí)施例中,相比呈現(xiàn)長截止期限時間143d的任務(wù)141,給予呈現(xiàn)短截止期限時間143d的任務(wù)141更高的優(yōu)先級。具有短截止期限時間143d的任務(wù)141(即,被給定高優(yōu)先級的任務(wù)141)被設(shè)為活動任務(wù)。資源標(biāo)識符143e用于標(biāo)識由任務(wù)141的每一個所用并且需要排他控制的資源(相當(dāng)于根據(jù)本發(fā)明的指定資源)??梢耘e例說明這類資源,例如打印機(jī)、顯示器等等。那些資源可以被嵌入信息處理設(shè)備100中或者外部提供。注意到可以為每個任務(wù)141分配一個單獨(dú)的資源標(biāo)識符143e或者也可以分配多個資源標(biāo)識符143e。
諸如API(應(yīng)用程序接口)等的用于提供上述調(diào)度功能以及隨后將要描述的其他各種功能的預(yù)定程序,被前述信息處理100設(shè)備讀取,并且被安裝到所述操作系統(tǒng)中,從而實(shí)現(xiàn)這些功能。注意到操作系統(tǒng)142與所述預(yù)定程序等等,被預(yù)裝入存儲裝置120等,并且隨著需要增加被適當(dāng)?shù)刈x入存儲器140并被執(zhí)行(參見圖1)。
(任務(wù)注冊時的操作)接下來,將參照
具有上述架構(gòu)的任務(wù)管理系統(tǒng)的操作。首先,將描述注冊所述任務(wù)時的處理。圖2是注冊所述任務(wù)時的處理的說明性流程圖。
操作系統(tǒng)142等,被信息處理設(shè)備100讀取并執(zhí)行,從而實(shí)現(xiàn)下面的處理。當(dāng)從操作系統(tǒng)142、預(yù)定應(yīng)用程序等等給出新的任務(wù)注冊請求時(S100),判定被請求注冊的任務(wù)141(其相當(dāng)于根據(jù)本發(fā)明的注冊對象任務(wù)并且因此在下文中也將被稱為注冊對象任務(wù))是否利用排他資源130(相當(dāng)于根據(jù)本發(fā)明的指定資源)(S101)。例如,將與該注冊對象任務(wù)141相關(guān)的資源標(biāo)識符143e與指定標(biāo)識符(諸如未示出的打印機(jī)、顯示器等的標(biāo)識符)進(jìn)行比對。結(jié)果,如果互相符合,則判定該注冊對象任務(wù)141利用排他資源130(S101是)。注意到相反如果判定注冊對象任務(wù)141未利用排他資源130(S101否),該注冊對象任務(wù)141被注冊為新任務(wù)(S104)。在這種情況下,未作出后面將說明的關(guān)于任務(wù)注冊的可能性的判定(S102和S103)。其原因在于,甚至當(dāng)注冊所述注冊對象任務(wù)141時,也沒有發(fā)生訪問排他資源130的沖突。
而另一方面,判定注冊對象任務(wù)141利用了排他資源130(S101是),作出關(guān)于任務(wù)注冊的可能性的判定(S102和S103)。這是由于要確保所述注冊對象任務(wù)141的截止期限時間143d。也就是說,當(dāng)注冊這個任務(wù)141時,發(fā)生訪問排他資源130的沖突,而且,由于可能存在不能遵守截止期限時間143d的可能性,意圖作出這樣的判定,即判定是否即使在注冊所述獲得對排他資源130的訪問的注冊對象任務(wù)141時該任務(wù)141的執(zhí)行起始時刻被(預(yù)先)延遲,該任務(wù)的執(zhí)行也能在截止期限時間143d經(jīng)過之前被完成(其相當(dāng)于根據(jù)本發(fā)明的判定單元)。當(dāng)判定所述執(zhí)行不能在截止期限時間143d經(jīng)過之前被完成時(S103否),不對所述注冊對象任務(wù)141進(jìn)行注冊,并且給出注冊不允許的通知(S105)。
而另一方面,當(dāng)判定所述執(zhí)行在截止期限時間143d經(jīng)過之前可以被完成時(S103是),將所述注冊對象任務(wù)141注冊為執(zhí)行對象任務(wù)(其相當(dāng)于根據(jù)本發(fā)明的注冊單元)。任務(wù)信息表143中注冊有,例如,所述注冊對象任務(wù)141的任務(wù)標(biāo)識符143a、由注冊對象任務(wù)141所用的資源的資源標(biāo)識符143e等。
(關(guān)于任務(wù)注冊的可能性的判定的概念)如上所述,任務(wù)注冊的可能性的判定是用于確保截止期限時間143d的處理。具體而言,判定是否即使當(dāng)注冊所述具有對排他資源130的訪問的注冊對象任務(wù)141時該任務(wù)的執(zhí)行起始時刻被延遲,該注冊對象任務(wù)141的執(zhí)行也可以在截止期限時間143d經(jīng)過之前被完成。
下面將參照圖3和4闡明所述判定的概念。圖3和4舉例說明了兩個任務(wù),即,通過操作系統(tǒng)142執(zhí)行的任務(wù)A和任務(wù)B。任務(wù)A和任務(wù)B利用了處于排他關(guān)系中的資源(例如,同一資源)。進(jìn)一步地,任務(wù)A的截止期限時間短于任務(wù)B的截止期限時間。也就是說,任務(wù)A被給予比任務(wù)B更高的優(yōu)先級。
圖3示出了這樣的狀態(tài),在其中任務(wù)A變成更早可執(zhí)行(或任務(wù)A和任務(wù)B二者變成同時可執(zhí)行)。在這種情況下,任務(wù)B保持等待直到任務(wù)A的分配時間143結(jié)束。這可以歸因于任務(wù)A被給予了比任務(wù)B更高的優(yōu)先級。常規(guī)的調(diào)度可以響應(yīng)于這種情況工作。
圖4示出了這樣的狀態(tài),在其中任務(wù)B變成更早可執(zhí)行。在這種情況下,任務(wù)A保持等待直到任務(wù)B的分配時間143c結(jié)束。也就是說,關(guān)于訪問排他資源130的任務(wù)A和B,即使當(dāng)切換任務(wù)時發(fā)生訪問沖突,延遲對試圖稍后訪問的任務(wù)A的分配,直到已經(jīng)更早進(jìn)行訪問的任務(wù)B的資源分配被完成。然而,如果簡單地延遲,則存在這樣的可能性,即不能確保用于所述任務(wù)的每一個的資源分配的截止期限時間。在這樣的情況下,即使以確保已經(jīng)更早進(jìn)行訪問的任務(wù)B的資源分配的方式來延遲試圖稍后進(jìn)行訪問的任務(wù)A的分配(例如,執(zhí)行分配時間143c),有必要確保對所述任務(wù)的每一個的資源分配的截止期限時間143d。因此,作出關(guān)于任務(wù)注冊的可能性的判定(其被可選地稱為限制檢查或保留判定)(S102和S103)。也就是說,判定兩個任務(wù)的資源分配是否都符合所述任務(wù)的各截止期限時間143d。具體地,判定是否即使當(dāng)注冊所述訪問排他資源130的注冊對象任務(wù)時所述任務(wù)的執(zhí)行起始時刻被延遲,該注冊對象任務(wù)的執(zhí)行也可以在截止期限時間143d經(jīng)過之前被完成。作為該判定的結(jié)果,其執(zhí)行被判定為在其截止期限時間143d經(jīng)過之前是可實(shí)行的(截止期限保證)的注冊對象任務(wù),被注冊為執(zhí)行對象任務(wù)(新任務(wù))。
因而,在注冊所述任務(wù)之前,(預(yù)先)作出關(guān)于所述任務(wù)注冊的可能性的判定,并且因此,即使發(fā)生訪問沖突,也可以確保所述任務(wù)的資源分配的各截止期限時間143d。
(判定任務(wù)注冊可能性的細(xì)節(jié))接下來,將返回參照圖2詳細(xì)描述關(guān)于任務(wù)注冊可能性的判定。
當(dāng)判定注冊對象任務(wù)141利用排他資源130時(S101是),提取使用了與該排他資源130相同的資源的任務(wù)(S102)。例如,利用資源標(biāo)識符143e充當(dāng)關(guān)鍵字,從任務(wù)信息表143中,提取上述資源標(biāo)識符143e與之相關(guān)的任務(wù)141,所述資源標(biāo)識符143e與和所述注冊對象任務(wù)141的任務(wù)標(biāo)識符143a相關(guān)的資源標(biāo)識符143e相一致。接下來,判定這樣提取的任務(wù)141是否獲得所有條件式的支持(S103)。如上所述這就是用于判定所述任務(wù)注冊的可能性的處理。下面將要說明條件式的具體例子。
首先,通過第一例子考慮存在從最高開始以優(yōu)先級排序的任務(wù)A、B、C、D和E并且任務(wù)C和任務(wù)D處于排他關(guān)系中的情況。在這種情況下,判定是否符合下面的兩個條件。如果符合這些條件,所述注冊對象任務(wù)(例如,任務(wù)C)被判定為可注冊(它的任務(wù)注冊是可能的)(S103是)。
(條件1)從通過常規(guī)DM方法的判定,任務(wù)A、B、C、D和E將是可調(diào)度的。
(條件2)D(c)≥E(c)+(E(d)-1 Tick時間)注意到T(i)表示第(i)個任務(wù)的周期,D(i)表示第(i)個任務(wù)的截止期限時間,C(i)標(biāo)志第(i)個任務(wù)的分配時間,E(i)指示第(i)個任務(wù)的所需時間,N表明獲得所需時間的任務(wù)的任務(wù)號,以及A表示A的運(yùn)算結(jié)果的上舍入。進(jìn)一步地,給出等式如下E(c)=C(c)+C(a)×(E(c)/T(a))+C(b)×(E(c)/T(b)),E(d)=C(d)+C(a)×(E(d)/T(a))+C(b)×(E(d)/T(b))。
下面將參照圖4簡要地說明條件2的重要性。在圖4中,任務(wù)A保持最長等待的情況是,在開始對任務(wù)B進(jìn)行分配之后的下一次調(diào)度的時刻(當(dāng)調(diào)度程序工作時),任務(wù)A變成可執(zhí)行。進(jìn)行調(diào)度的時間間隔是諸如“1Tick”的固定間隔,并且因此在條件2中給出這個值(1 Tick)。
更具體地,基于DM(截止時限單調(diào))方法的可注冊性判定的前提是由具有更短截止期限的任務(wù)進(jìn)行搶先。然而,如果假定排他關(guān)系的任務(wù)的執(zhí)行在進(jìn)行中,訪問受限的任務(wù)不能搶先,即使其具有更短的截止期限。也就是說,甚至當(dāng)訪問受限任務(wù)到達(dá)執(zhí)行起始點(diǎn)時,該訪問受限任務(wù)可能保持等待一段時間,該時段等于[具有更長截止期限并且假定排他關(guān)系的任務(wù)的執(zhí)行結(jié)束減去(-)1 Tick]。進(jìn)一步地,這時,也有必要考慮假定排他關(guān)系并且具有短截止期限的任務(wù)的執(zhí)行時間。
于是,如果總的時間,即[假定一個排他關(guān)系并且呈現(xiàn)低優(yōu)先級的任務(wù)的執(zhí)行時間減去(-)1]+[假定所有排他關(guān)系并且呈現(xiàn)高優(yōu)先級的任務(wù)的執(zhí)行時間]+[自任務(wù)(self-task)的執(zhí)行時間],在所述自任務(wù)的截止期限之內(nèi),它被認(rèn)為是可調(diào)度的。注意到每個任務(wù)可能被假定沒有排他關(guān)系并具有更短截止期限的任務(wù)搶先,因此所述任務(wù)的執(zhí)行時間必須將此考慮進(jìn)去。這類時間在此被定義為任務(wù)的所需時間。應(yīng)當(dāng)注意的是,任務(wù)的所需時間(E(n))得自前述公式。
接下來,通過第二例子考慮,存在從最高開始以優(yōu)先級排序的任務(wù)A、B、C、D、E與F,以及排他關(guān)系存在于任務(wù)A與C之間以及任務(wù)B、D與E之間的情況。在這種情況下,判定是否符合下面的五個條件。如果符合這些條件,所述注冊對象任務(wù)(例如,任務(wù)E)被判定為可注冊(S103是)。
(條件1)從通過常規(guī)DM方法的判定,任務(wù)A、B、C、D、E和F將是可調(diào)度的。
(條件2)D(a)≥E(a)+(E(c)-1 Tick時間)(條件3)D(b)≥E(b)+(E(d)-1 Tick時間)(條件4)D(b)≥E(b)+(E(e)-1 Tick時間)(條件5)D(d)≥E(d)+(E(b)+E(e)-1 Tick時間)注意到給出等式如下E(a)=C(a),E(b)=C(b)+C(a)×(E(b)/T(a)),E(c)=C(c)+C(b)×(E(c)/T(b)),E(d)=C(d)+C(a)×(E(d)/T(a))+C(c)×(E(d)/T(c)),E(e)=C(e)+C(a)×(E(e)/T(a))+C(c)×(E(e)/T(c))。
判定在S102中提取的任務(wù)141是否獲得所有的條件式(在第一例子或第二例子中給出的條件式)的支持。然后,當(dāng)判定每個任務(wù)141獲得所有條件式的支持時(S101否),該注冊對象任務(wù)被注冊為新任務(wù)(S104)。
(任務(wù)切換時的操作)接下來,將說明切換任務(wù)時的處理。圖5是切換所述任務(wù)時的處理的說明性流程圖。
操作系統(tǒng)142等,被信息處理設(shè)備100讀入并執(zhí)行,從而實(shí)現(xiàn)下面的處理。在被注冊為任務(wù)信息表143中的執(zhí)行對象任務(wù)的任務(wù)141中,優(yōu)先執(zhí)行具有更短截止期限時間143d的任務(wù)141(其相當(dāng)于根據(jù)本發(fā)明的執(zhí)行單元)。然后,當(dāng)達(dá)到基于任務(wù)調(diào)度的切換時刻時(其相當(dāng)于根據(jù)本發(fā)明的任務(wù)切換時刻),判定是否存在能夠被切換的任務(wù)141(S200)。例如,判定具有更高優(yōu)先級的任務(wù)141是否被注冊在任務(wù)信息表143中。當(dāng)判定不存在能夠被切換的任務(wù)141時(S200否),不執(zhí)行下面的處理。而另一方面,當(dāng)判定存在能夠被切換的任務(wù)141時(S200是),判定是否存在不利用正被當(dāng)前執(zhí)行的任務(wù)141利用的排他資源130的不同任務(wù)141(S201)?;谌蝿?wù)信息表143中的資源標(biāo)識符143e作出該判定。然后,如果存在假定沒有這樣的排他關(guān)系的任務(wù)141(S201是),切換所述執(zhí)行任務(wù)(S202)。然而如果沒有這樣的任務(wù)141(S201否),不切換所述執(zhí)行任務(wù)。也就是說,如果存在處于排他關(guān)系中的任務(wù)(S201否),不切換所述執(zhí)行任務(wù)。每次重做在S200到S202中的處理時,達(dá)到基于任務(wù)調(diào)度的切換時刻。利用這個方案,當(dāng)切換所述任務(wù)時,在被注冊為任務(wù)信息表143中的執(zhí)行對象任務(wù)的任務(wù)141中,延遲(或暫停)對隨后試圖訪問排他資源130(相當(dāng)于根據(jù)本發(fā)明的指定資源)的任務(wù)141的資源分配,直到完成對已經(jīng)更早訪問該排他資源的任務(wù)141的資源分配(S201否)。這個功能相當(dāng)于根據(jù)本發(fā)明的控制單元。此外,即使當(dāng)以這種方式延遲時,通過上述關(guān)于任務(wù)可注冊性的判定(S102和S103),將確保任務(wù)141的每一個的資源分配的截止期限。
如上所述,根據(jù)本實(shí)施例中的任務(wù)管理系統(tǒng),當(dāng)注冊所述任務(wù)時,在預(yù)先考慮排他控制下的延遲的形式下,進(jìn)行對任務(wù)141的保留判定(見圖2等)。當(dāng)切換所述任務(wù)時,即使發(fā)生訪問沖突,延遲隨后試圖通過訪問來利用資源的任務(wù)的分配,直到完成已經(jīng)更早進(jìn)行訪問的任務(wù)141的分配。
于是,即使發(fā)生訪問沖突,可以確保已經(jīng)更早進(jìn)行訪問的任務(wù)141的資源分配(執(zhí)行分配時間143c)。另外,任務(wù)141的保留判定考慮了由所述訪問沖突引起的延遲(見圖2),并且因此也可以確保任務(wù)141的每一個的資源分配的截止期限時間143d。
可以用多種沒有偏離本發(fā)明的精神或主要特征的形式來實(shí)現(xiàn)本發(fā)明。上述實(shí)施例只是在每個方面的淺顯舉例。本發(fā)明不應(yīng)被那些實(shí)施例的描述限制性地解釋。
工業(yè)適用性根據(jù)本發(fā)明,當(dāng)注冊任務(wù)時,實(shí)現(xiàn)了對需要排他控制的資源的可訪問性的設(shè)置??紤]到在所述排他控制下的延遲,判定所述任務(wù)的可注冊性。當(dāng)發(fā)生訪問沖突時,暫停對遇到所述訪問沖突的發(fā)生的任務(wù)的分配,直到完成處于訪問中的任務(wù)的分配,從而能夠確保利用需要排他控制的資源的處理的正當(dāng)性,并且確保所述截止期限。
權(quán)利要求
1.一種任務(wù)管理系統(tǒng)包括判定單元,對于獲得對指定資源的訪問的注冊對象任務(wù),判定是否即使當(dāng)注冊所述注冊對象任務(wù)時所述任務(wù)的執(zhí)行起始時刻被延遲,該任務(wù)的執(zhí)行也能夠在其截止期限時間經(jīng)過之前被完成;注冊單元,將所述判定為在所述截止期限時間經(jīng)過之前完成其執(zhí)行的注冊對象任務(wù)注冊為執(zhí)行對象任務(wù);以及控制單元,當(dāng)切換所述任務(wù)時,在被注冊為執(zhí)行對象任務(wù)的任務(wù)中,暫停對于隨后試圖訪問指定資源的任務(wù)的資源分配,直到完成對已經(jīng)更早訪問所述指定資源的任務(wù)的資源分配。
2.一種任務(wù)管理系統(tǒng)包括判定單元,對于獲得對指定資源的訪問的注冊對象任務(wù),判定是否即使當(dāng)注冊所述注冊對象任務(wù)時所述任務(wù)的執(zhí)行起始時刻被延遲,該任務(wù)的執(zhí)行也能夠在其截止期限時間經(jīng)過之前被完成;注冊單元,將所述判定為在所述截止期限時間經(jīng)過之前完成其執(zhí)行的注冊對象任務(wù)注冊為執(zhí)行對象任務(wù);執(zhí)行單元,在被注冊為執(zhí)行對象任務(wù)的任務(wù)中,優(yōu)先地執(zhí)行具有更短的截止期限時間的任務(wù);以及控制單元,當(dāng)切換所述任務(wù)時,在被注冊為執(zhí)行對象任務(wù)的任務(wù)中,暫停對于隨后試圖訪問指定資源的任務(wù)的資源分配,直到完成對已經(jīng)更早訪問所述指定資源的任務(wù)的資源分配。
3.一種任務(wù)管理方法包括這樣的步驟,對于獲得對指定資源的訪問的注冊對象任務(wù),判定是否即使當(dāng)注冊所述注冊對象任務(wù)時所述任務(wù)的執(zhí)行起始時刻被延遲,該任務(wù)的執(zhí)行也能夠在其截止期限時間經(jīng)過之前被完成;這樣的步驟,將所述判定為在所述截止期限時間經(jīng)過之前完成其執(zhí)行的注冊對象任務(wù)注冊為執(zhí)行對象任務(wù);以及這樣的步驟,當(dāng)切換所述任務(wù)時,在被注冊為執(zhí)行對象任務(wù)的任務(wù)中,暫停對于隨后試圖訪問指定資源的任務(wù)的資源分配,直到完成對已經(jīng)更早訪問所述指定資源的任務(wù)的資源分配。
4.一種任務(wù)管理方法包括這樣的步驟,對于獲得對指定資源的訪問的注冊對象任務(wù),判定是否即使當(dāng)注冊所述注冊對象任務(wù)時所述任務(wù)的執(zhí)行起始時刻被延遲,該任務(wù)的執(zhí)行也能夠在其截止期限時間經(jīng)過之前被完成;這樣的步驟,用于將所述判定為在所述截止期限時間經(jīng)過之前完成其執(zhí)行的注冊對象任務(wù)注冊為執(zhí)行對象任務(wù);這樣的步驟,在被注冊為執(zhí)行對象任務(wù)的任務(wù)中,優(yōu)先地執(zhí)行具有更短的截止期限時間的任務(wù);以及這樣的步驟,當(dāng)切換所述任務(wù)時,在被注冊為執(zhí)行對象任務(wù)的任務(wù)中,暫停對于隨后試圖訪問指定資源的任務(wù)的資源分配,直到完成對已經(jīng)更早訪問所述指定資源的任務(wù)的資源分配。
全文摘要
判定單元,對于獲得對指定資源的訪問的注冊對象任務(wù),判定是否即使當(dāng)注冊所述注冊對象任務(wù)時所述任務(wù)的執(zhí)行起始時刻被延遲,該任務(wù)的執(zhí)行也能夠在其截止期限時間經(jīng)過之前被完成。注冊單元將所述判定為在所述截止期限時間經(jīng)過之前完成其執(zhí)行的注冊對象任務(wù)注冊為執(zhí)行對象任務(wù)。控制單元,當(dāng)切換所述任務(wù)時,在被注冊為執(zhí)行對象任務(wù)的任務(wù)中,暫停對于隨后試圖訪問指定資源的任務(wù)的資源分配,直到完成對已經(jīng)更早訪問所述指定資源的任務(wù)的資源分配。
文檔編號G06F9/46GK1882914SQ20048003406
公開日2006年12月20日 申請日期2004年10月22日 優(yōu)先權(quán)日2003年11月18日
發(fā)明者阿部睦 申請人:豐田自動車株式會社