專利名稱:信號量管理方法和信號量管理程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種使用多任務(wù)系統(tǒng)的操作系統(tǒng)中的資源的排他控制,尤其是涉及一種使用信號量(semaphore)來執(zhí)行排他控制時的信號量的管理方法。
背景技術(shù):
在使用多任務(wù)系統(tǒng)的操作系統(tǒng)中的資源的排他控制中,常常使用信號量。在使用信號量的資源的排他控制中,在使用資源之前,任務(wù)首先利用信號量生成命令來生成信號量。在生成信號量時,將信號量結(jié)構(gòu)體的指針、信號量結(jié)構(gòu)體陣列的索引或操作系統(tǒng)提供的用于信號量操作的句柄(下面稱為信號量句柄)返回到任務(wù)側(cè)。任務(wù)側(cè)利用指定了信號量句柄的信號量獲得命令獲得信號量,從而使用資源。在使用了資源之后,利用指定了信號量句柄的信號量釋放命令釋放信號量,從而釋放資源。
任務(wù)是為了實現(xiàn)期望的功能而由用戶生成的程序。因此,在通過使用上述信號量操作命令(信號量生成命令、信號量獲得命令和信號量釋放命令)來使用資源的、基于信號量的排他控制中,用戶必須了解信號量句柄與資源之間的關(guān)聯(lián)。
但是,由于信號量句柄為數(shù)值,所以難以直觀地建立信號量句柄與資源之間的關(guān)聯(lián),從而存在信號量句柄與資源之間的關(guān)聯(lián)的管理很麻煩的問題。
作為用于改善這種問題的現(xiàn)有技術(shù),具有專利文獻1。在專利文獻1中,公開了一種涉及資源管理方式的技術(shù),該技術(shù)可利用名稱(符號)來管理資源,從而可容易地進行程序(任務(wù))的生成和挪用以及資源管理。
具體地說,任務(wù)將所要使用的資源的符號通知給資源管理模塊。經(jīng)由資源管理模塊的識別號碼分配部件從任務(wù)輸入了符號后,識別號碼管理部件檢索用于存儲資源的符號與識別號碼(信號量句柄)的對應(yīng)的識別號碼管理表,檢測出未使用的信號量句柄,與檢測出的信號量句柄相對應(yīng)地登記所通知的符號,將該信號量句柄設(shè)為使用中,并經(jīng)由識別號碼分配部件將檢測出的信號量句柄通知給任務(wù)。任務(wù)使用所通知的信號量句柄,向多任務(wù)操作系統(tǒng)發(fā)出系統(tǒng)呼叫,從而使用資源。資源使用結(jié)束后,任務(wù)將正使用的信號量句柄通知給資源管理模塊。經(jīng)由資源管理模塊的識別號碼釋放部件從任務(wù)通知了信號量句柄后,識別號碼管理部件刪除與所通知的信號量句柄相對應(yīng)地登記于識別號碼管理表中的符號,在將該信號量句柄設(shè)為未使用后釋放。
專利文獻1特開平5-81048號公報在上述專利文獻1所記載的現(xiàn)有技術(shù)中,具備用于使資源的符號與信號量句柄相對應(yīng)的識別號碼管理表,任務(wù)向管理該識別號碼管理表的對應(yīng)表資源管理模塊通知符號,并使用從識別號碼管理部件返回的信號量句柄來進行信號量的操作,所以生成任務(wù)的用戶無需了解資源的符號與信號量句柄的對應(yīng),就可以用符號來管理資源。
但是,在上述專利文獻1所記載的現(xiàn)有技術(shù)中,雖然生成任務(wù)的用戶不必了解符號與信號量句柄的對應(yīng),但由于從資源管理模塊向任務(wù)返回信號量句柄,并使用所返回的信號量句柄來使用信號量,所以存在必須在任務(wù)內(nèi)管理信號量句柄的問題。
另外,在上述專利文獻1所記載的現(xiàn)有技術(shù)中,必須取得與符號相對應(yīng)的信號量句柄,并使用所取得的信號量句柄來獲得信號量。即,任務(wù)需要用于取得與符號相對應(yīng)的信號量句柄的命令和用于獲得信號量的信號量獲得命令這兩個命令,從而存在步驟數(shù)多的問題。
另外,在使用信號量時,利用信號量生成命令來生成與信號量相對應(yīng)的信號量結(jié)構(gòu)體,并取得與所生成的信號量結(jié)構(gòu)體相對應(yīng)的信號量的信號量句柄,但存在必須向使用所生成的信號量的全部任務(wù)通知所取得的信號量句柄的問題。
發(fā)明內(nèi)容本發(fā)明鑒于上述問題而做出,其目的在于提供一種信號量管理方法,在使用信號量的排他控制中,可以使用資源的符號來操作信號量,而無需在任務(wù)內(nèi)管理信號量句柄。
為了解決上述問題并實現(xiàn)目的,本發(fā)明提供了一種信號量管理方法,應(yīng)用于利用信號量來執(zhí)行排他控制的多任務(wù)系統(tǒng)的操作系統(tǒng),并且根據(jù)信號量結(jié)構(gòu)體與符號/句柄對應(yīng)表,利用任務(wù)發(fā)出的、包含資源的符號的信號量操作命令,來操作信號量,其中,所述信號量結(jié)構(gòu)體與對應(yīng)于所述操作系統(tǒng)內(nèi)的資源的信號量相對應(yīng),并登記有與該信號量的使用狀態(tài)有關(guān)的信號量信息,所述符號/句柄對應(yīng)表與用于識別操作系統(tǒng)內(nèi)的資源的符號相對應(yīng)地登記有用于識別管理該資源的信號量的信號量句柄,其特征在于,所述方法具備對應(yīng)表管理步驟,取得與包含在所述信號量操作命令中的符號相對應(yīng)地登記在所述符號/句柄對應(yīng)表中的信號量句柄;信號量獲得步驟,在所述信號量操作命令是信號量獲得命令的情況下,根據(jù)與所述對應(yīng)表管理步驟取得的信號量句柄所表示的信號量相對應(yīng)的信號量結(jié)構(gòu)體的信號量信息,取得信號量,并將該信號量所管理的資源分配給發(fā)出了所述信號量獲得命令的任務(wù);和信號量釋放步驟,在所述信號量操作命令是信號量釋放命令的情況下,根據(jù)與所述對應(yīng)表管理步驟取得的信號量句柄所表示的信號量相對應(yīng)的信號量結(jié)構(gòu)體的信號量信息,釋放信號量,并從發(fā)出了所述信號量釋放命令的任務(wù)釋放該信號量所管理的資源。
根據(jù)本發(fā)明,可實現(xiàn)得到如下信號量管理方法的效果即對應(yīng)表管理部件從與用于識別資源的符號名相對應(yīng)地登記有用于識別管理該資源的信號量的信號量句柄的符號/句柄對應(yīng)表中,取得與任務(wù)發(fā)出的信號量操作命令中包含的符號相對應(yīng)的信號量句柄,在信號量操作命令是信號量獲得命令的情況下,信號量獲得處理部件取得所取得的信號量句柄所表示的信號量,將由所取得的信號量管理的資源分配給發(fā)出了信號量獲得命令的任務(wù),在信號量操作命令是信號量釋放命令的情況下,信號量釋放處理部件釋放所取得的信號量句柄所表示的信號量,從發(fā)出了信號量釋放命令的任務(wù)釋放該信號量所管理的資源,所以在使用信號量的排他控制中,可以使用資源的符號來操作信號量,而無需在任務(wù)內(nèi)管理信號量句柄。
圖1是表示應(yīng)用本發(fā)明的信號量管理方法的多任務(wù)系統(tǒng)的構(gòu)成的圖。
圖2是用于說明應(yīng)用本發(fā)明的信號量管理方法的多任務(wù)系統(tǒng)的基于信號量獲得命令的動作的流程圖。
圖3是用于說明應(yīng)用本發(fā)明的信號量管理方法的多任務(wù)系統(tǒng)的基于信號量釋放命令的動作的流程圖。
圖4是用于說明應(yīng)用本發(fā)明的信號量管理方法的多任務(wù)系統(tǒng)的基于信號量獲得命令的動作的流程圖。
具體實施方式下面,參照附圖來詳細說明本發(fā)明的信號量管理方法和信號量管理程序的實施方式。該實施方式并不限定本發(fā)明。
實施方式利用圖1~圖3來說明本發(fā)明的實施方式。圖1是表示應(yīng)用了本發(fā)明的信號量管理方法的多任務(wù)系統(tǒng)1的構(gòu)成的圖。在圖1中,作為主要部分,多任務(wù)系統(tǒng)1具備在多任務(wù)系統(tǒng)1的管理下動作的多個(此處為兩個)任務(wù)5(表示5-1、5-2)和操作系統(tǒng)2,該操作系統(tǒng)2具有n(n為自然數(shù))個資源7(表示7-1~7-n)和根據(jù)來自任務(wù)5的命令、通過使用信號量的排他控制來分配和釋放資源7的信號量管理部件3。
任務(wù)5是用戶生成的程序,由用于實現(xiàn)期望功能的各種命令構(gòu)成。在構(gòu)成任務(wù)5的命令當中,作為利用資源7的命令,包括用于操作對資源7進行排他控制的信號量的信號量操作命令。信號量操作命令具有用于在使用資源7時獲得與資源7相對應(yīng)的信號量的信號量獲得命令(圖中為P命令);和用于在釋放所使用的資源7時釋放與資源7相對應(yīng)的信號量之信號量釋放命令(圖中為V命令)。用戶在使用信號量獲得命令和信號量釋放命令時,指定被預(yù)先賦予作為對象的資源7的符號。
資源7是操作系統(tǒng)2使用的存儲器或打印機等設(shè)備,分別被賦予符號。符號中可使用用戶容易識別資源7的名稱,在圖1中,向資源7-1賦予符號“mem1”,向資源7-2賦予符號“mem2”,…,向資源7-n賦予符號“memn”。
信號量管理部件3具備信號量結(jié)構(gòu)體6(表示6-1~6-n)、符號/句柄對應(yīng)表4和信號量操作部件8。信號量結(jié)構(gòu)體6與對資源7進行排他控制的信號量相對應(yīng),構(gòu)成基于預(yù)定順序的陣列(信號量結(jié)構(gòu)體陣列)。在信號量管理部件3中,利用信號量結(jié)構(gòu)體陣列的索引或指針來識別各信號量結(jié)構(gòu)體6。
在圖1中,信號量結(jié)構(gòu)體6-1與對資源7-1進行排他控制的信號量相對應(yīng),信號量結(jié)構(gòu)體6-2與對資源7-2進行排他控制的信號量相對應(yīng),…,信號量結(jié)構(gòu)體6-n與對資源7-n進行排他控制的信號量相對應(yīng)。另外,信號量結(jié)構(gòu)體6-1的索引為“sem1”,信號量結(jié)構(gòu)體6-2的索引為“sem2”,…,信號量結(jié)構(gòu)體6-n的索引為“semn”。信號量結(jié)構(gòu)體6的索引為數(shù)值。另外,從操作系統(tǒng)2向信號量提供用于信號量操作的句柄(下面稱為信號量句柄),但這里,信號量句柄與對應(yīng)于該信號量句柄所表示的信號量的信號量結(jié)構(gòu)體6的索引為相同值。
信號量結(jié)構(gòu)體6登記與相對應(yīng)的信號量的使用狀態(tài)有關(guān)的信號量信息。信號量結(jié)構(gòu)體6由登記有相對應(yīng)的信號量的狀態(tài)或?qū)傩缘臉酥?1、登記有相對應(yīng)的信號量的剩余數(shù)量的計數(shù)器62、和登記有等待相對應(yīng)的信號量的任務(wù)5的進程名的等待任務(wù)隊列63構(gòu)成。
符號/句柄對應(yīng)表4與資源7的符號相對應(yīng)地登記有對該資源7進行排他控制的信號量的信號量句柄。信號量操作部件8接收到來自任務(wù)5的信號量操作命令后,執(zhí)行如下處理,即根據(jù)符號/句柄對應(yīng)表4和信號量結(jié)構(gòu)體6,獲得或釋放信號量,從而向任務(wù)5分配資源7,或從任務(wù)5釋放資源7。
信號量操作部件8具備管理符號/句柄對應(yīng)表4的對應(yīng)表管理部件81、生成與信號量相對應(yīng)的信號量結(jié)構(gòu)體6的信號量生成部件82、根據(jù)信號量結(jié)構(gòu)體6來執(zhí)行信號量的獲得處理的信號量獲得處理部件83、和根據(jù)信號量結(jié)構(gòu)體6來執(zhí)行信號量的釋放處理的信號量釋放處理部件84。
參照圖1~圖3,說明應(yīng)用本發(fā)明的信號量管理方法的多任務(wù)系統(tǒng)1的動作。首先,參照圖2的流程圖和圖1,說明基于信號量獲得命令的動作。在將要使用資源7的情況下,任務(wù)5向信號量操作部件8輸出(發(fā)出)包含將要使用的資源7的符號的信號量獲得命令(步驟S100)。
輸入了信號量獲得命令后,信號量操作部件8的對應(yīng)表管理部件81取得與信號量獲得命令內(nèi)的符號相對應(yīng)地登記在符號/句柄對應(yīng)表4中的信號量句柄(步驟S101)。
在取得了信號量句柄的情況下,即在符號/句柄對應(yīng)表4中登記有信號量獲得命令內(nèi)的符號和對應(yīng)于該符號的信號量句柄的情況下(步驟S102為是),對應(yīng)表管理部件81將包含所取得的信號量句柄的信號量獲得指示通知給信號量獲得處理部件83。
在接收到信號量獲得指示后,信號量獲得處理部件83使用信號量獲得指示內(nèi)的信號量句柄,執(zhí)行信號量獲得處理(步驟S103)。具體地說,信號量獲得處理部件83確認與信號量獲得指示內(nèi)的信號量句柄相對應(yīng)的信號量結(jié)構(gòu)體6的計數(shù)器62中登記的計數(shù)值,判定是否能獲得信號量。計數(shù)值表示與信號量結(jié)構(gòu)體6相對應(yīng)的信號量的剩余數(shù)量。因此,信號量獲得處理部件83在計數(shù)值為“0”的情況下,判定為不能獲得信號量,在計數(shù)值不為“0”的情況下,判定為能獲得信號量。在判定為能獲得信號量的情況下,信號量獲得處理部件83將與信號量獲得指示內(nèi)的信號量句柄相對應(yīng)的信號量結(jié)構(gòu)體6的計數(shù)器62的值減1,獲得信號量。
在獲得了信號量的情況下(步驟S104為是),信號量獲得處理部件83向任務(wù)5通知獲得了信號量。被通知獲得了信號量后,任務(wù)5利用由通過信號量獲得命令獲得的信號量進行排他控制的資源7,執(zhí)行期望的處理(步驟S105)。
在沒能獲得信號量的情況下,即判定為不能獲得信號量的情況下(步驟S104為否),信號量獲得處理部件83將輸出了信號量獲得命令的任務(wù)5的進程名登記在與信號量句柄相對應(yīng)的信號量結(jié)構(gòu)體6的等待任務(wù)隊列63中(步驟S106)。
在其它任務(wù)5釋放了所等待的信號量(步驟S107)后,信號量獲得處理部件83執(zhí)行信號量獲得處理,獲得信號量,向任務(wù)5通知獲得了信號量,任務(wù)5利用由通過信號量獲得命令獲得的信號量進行排他控制的資源7,執(zhí)行期望的處理(步驟S103~S105)。另外,信號量獲得處理部件83在從信號量等待到獲得信號量的情況下,將與信號量相對應(yīng)的信號量結(jié)構(gòu)體6的計數(shù)器62減1,同時,刪除登記在等待任務(wù)隊列63中的該任務(wù)的進程名。
另一方面,在不能從符號/句柄對應(yīng)表4取得信號量句柄的情況下,即符號/句柄對應(yīng)表4中未登記信號量獲得命令內(nèi)的符號和與該符號相對應(yīng)的信號量句柄的情況下(步驟S102為否),對應(yīng)表管理部件81將信號量生成指示通知給信號量生成部件82。
在接收到信號量生成指示后,信號量生成部件82將新的信號量結(jié)構(gòu)體追加到信號量結(jié)構(gòu)體陣列,從而生成信號量(步驟S108)。信號量生成部件82向?qū)?yīng)表管理部件81通知包含在生成信號量時從操作系統(tǒng)2提供的信號量句柄的生成完成通知。
接收到生成完成通知后,對應(yīng)表管理部件81將生成完成通知內(nèi)的信號量句柄與信號量獲得命令內(nèi)的符號相對應(yīng)地登記在符號/句柄對應(yīng)表4中(步驟S109)。對應(yīng)表管理部件81將包含生成完成通知內(nèi)的信號量句柄、即登記在符號對應(yīng)表中的信號量句柄的信號量獲得指示通知給信號量獲得處理部件83。
信號量獲得處理部件83執(zhí)行信號量獲得處理,獲得信號量,向任務(wù)5通知獲得了信號量,任務(wù)5利用由通過信號量獲得命令獲得的信號量進行排他控制的資源7,執(zhí)行期望的處理(步驟S103~S105)。
下面,參照圖3的流程圖和圖1,說明基于信號量釋放命令的動作。在釋放利用信號量獲得命令獲得的信號量的情況下,任務(wù)5將包含所要釋放的資源7的符號的信號量釋放命令輸出到信號量操作部件8(步驟S200)。
在輸入了信號量釋放命令后,信號量操作部件8的對應(yīng)表管理部件81取得與信號量釋放命令內(nèi)的符號相對應(yīng)地登記在符號/句柄對應(yīng)表4中的信號量句柄(步驟S201)。對應(yīng)表管理部件81將包含所取得的信號量句柄的信號量釋放指示通知給信號量釋放處理部件84。
在接收到信號量釋放指示后,信號量釋放處理部件84使用信號量釋放指示內(nèi)的信號量句柄,執(zhí)行信號量釋放處理(步驟S202)。具體地說,信號量釋放處理部件84使與信號量釋放指示內(nèi)的信號量句柄相對應(yīng)的信號量結(jié)構(gòu)體6的計數(shù)器62中登記的計數(shù)值加1。
信號量釋放處理部件84向任務(wù)5通知釋放了信號量。由此,任務(wù)5識別為信號量的釋放操作結(jié)束,從而執(zhí)行下一命令(步驟S203)。
這樣,在本實施方式中,對應(yīng)表管理部件81從與用于識別資源7的符號名相對應(yīng)地登記有用于識別管理該資源7的信號量的信號量句柄的符號/句柄對應(yīng)表4中,取得與任務(wù)5發(fā)出的信號量操作命令中包含的符號相對應(yīng)的信號量句柄,在信號量操作命令是信號量獲得命令的情況下,信號量獲得處理部件83取得所取得的信號量句柄所表示的信號量,將所取得的信號量所管理的資源7分配給發(fā)出了信號量獲得命令的任務(wù)5,在信號量操作命令是信號量釋放命令的情況下,信號量釋放處理部件84釋放所取得的信號量句柄所表示的信號量,從發(fā)出了信號量釋放命令的任務(wù)5釋放該信號量所管理的資源7,因此在使用信號量的排他控制中,可以使用資源7的符號來操作信號量,而無需在任務(wù)5內(nèi)管理信號量句柄。
另外,由于可以使用資源7的符號來操作信號量,而無需在任務(wù)5內(nèi)管理信號量句柄,所以可在無需向使用相同信號量的所有任務(wù)5通知信號量句柄的情況下,實現(xiàn)使用信號量的排他控制。
另外,在本實施方式中,在與任務(wù)5發(fā)出的信號量操作命令內(nèi)的符號相對應(yīng)的信號量句柄未登記在符號/句柄對應(yīng)表4中的情況下,信號量生成部件82生成新的信號量結(jié)構(gòu)體6,從而生成信號量,對應(yīng)表管理部件81將信號量生成部件82生成的信號量的信號量句柄與信號量操作命令內(nèi)的符號相對應(yīng)地登記在符號/句柄對應(yīng)表4中之后,信號量獲得處理部件83獲得信號量,因此可以用1個命令來執(zhí)行信號量的生成和獲得,從而可削減任務(wù)5的步驟。
并且,在使用信號量的排他控制中,由于可以使用資源7的符號來操作信號量,而無需在任務(wù)5內(nèi)管理信號量句柄,所以還可期待如下效果,即可削減生成任務(wù)5的用戶的勞力,同時可避免信號量句柄與符號的對應(yīng)錯誤,從而可提高程序的質(zhì)量。
另外,在本實施方式中,在信號量獲得命令動作時不能從符號/句柄對應(yīng)表4取得信號量句柄的情況下,無條件地生成信號量,但也可以如圖4的流程圖所示,在前面圖2的流程圖的步驟S108的信號量生成處理之前,追加判定是否需要明示的信號量生成的步驟S110,僅在必須生成信號量的情況下,才生成信號量,在不必生成信號量的情況下,向任務(wù)5通知錯誤通知(步驟S111)。所謂明示的信號量生成是包含信號量生成命令的信號量獲得命令,這種情況下,作為信號量獲得命令,僅在從符號/句柄對應(yīng)表4取得了信號量句柄的情況下,即符號與信號量句柄的對應(yīng)被登記在符號/句柄對應(yīng)表4中的情況下,準備獲得信號量的命令,在沒能從符號/句柄對應(yīng)表4取得信號量句柄的情況下,即符號與信號量句柄的對應(yīng)沒有登記在符號/句柄對應(yīng)表4中的情況下,準備在生成信號量并登記到符號/句柄對應(yīng)表4中之后獲得信號量的命令,并在任務(wù)5上分開使用這兩個命令。
另外,也可將由本發(fā)明中的信號量操作部件8的對應(yīng)表管理部件81、信號量生成部件82、信號量獲得處理部件83和信號量釋放處理部件84實現(xiàn)的上述功能,提供作為由操作系統(tǒng)2所操作的CPU(中央處理單元)等微處理器執(zhí)行的程序。
產(chǎn)業(yè)上的可利用性如上所述,本發(fā)明的信號量管理方法可用于利用信號量來進行排他控制的多任務(wù)系統(tǒng)的操作系統(tǒng),尤其適用于從多個任務(wù)操作同一信號量的情況。
權(quán)利要求
1.一種信號量管理方法,應(yīng)用于利用信號量來執(zhí)行排他控制的多任務(wù)系統(tǒng)的操作系統(tǒng),根據(jù)信號量結(jié)構(gòu)體與符號/句柄對應(yīng)表,利用任務(wù)發(fā)出的、包含資源的符號的信號量操作命令,來操作信號量,其中,所述信號量結(jié)構(gòu)體與對應(yīng)于所述操作系統(tǒng)內(nèi)的資源的信號量相對應(yīng),并登記有與該信號量的使用狀態(tài)有關(guān)的信號量信息,所述符號/句柄對應(yīng)表與用于識別操作系統(tǒng)內(nèi)的資源的符號相對應(yīng)地登記有用于識別管理該資源的信號量的信號量句柄,其特征在于,所述信號量管理方法具備對應(yīng)表管理步驟,取得與包含在所述信號量操作命令中的符號相對應(yīng)地登記在所述符號/句柄對應(yīng)表中的信號量句柄;信號量獲得步驟,在所述信號量操作命令是信號量獲得命令的情況下,根據(jù)與所述對應(yīng)表管理步驟取得的信號量句柄所表示的信號量相對應(yīng)的信號量結(jié)構(gòu)體的信號量信息,取得信號量,并將該信號量所管理的資源分配給發(fā)出了所述信號量獲得命令的任務(wù);和信號量釋放步驟,在所述信號量操作命令是信號量釋放命令的情況下,根據(jù)與所述對應(yīng)表管理步驟取得的信號量句柄所表示的信號量相對應(yīng)的信號量結(jié)構(gòu)體的信號量信息,釋放信號量,并從發(fā)出了所述信號量釋放命令的任務(wù)釋放該信號量所管理的資源。
2.根據(jù)權(quán)利要求
1所述的信號量管理方法,其特征在于,還具備信號量生成步驟,在所述對應(yīng)表管理步驟沒能取得與包含在所述信號量操作命令中的符號相對應(yīng)地登記在所述符號/句柄對應(yīng)表中的信號量句柄的情況下,生成新的信號量結(jié)構(gòu)體以生成信號量,其中,所述對應(yīng)表管理步驟將用于識別由所述信號量生成步驟生成的信號量的符號與包含在所述信號量操作命令中的符號相對應(yīng)地登記在所述符號/句柄對應(yīng)表中。
3.一種信號量管理程序,使計算機執(zhí)行權(quán)利要求
1或2所述的信號量管理方法。
4.一種信號量管理媒體,使計算機執(zhí)行權(quán)利要求
3所述的信號量管理方法,其特征在于,還具備信號量生成步驟,在所述對應(yīng)表管理步驟沒能取得與包含在所述信號量操作命令中的符號相對應(yīng)地登記在所述符號/句柄對應(yīng)表中的信號量句柄的情況下,生成新的信號量結(jié)構(gòu)體以生成信號量,其中,所述對應(yīng)表管理步驟將用于識別由所述信號量生成步驟生成的信號量的符號與包含在所述信號量操作命令中的符號相對應(yīng)地登記在所述符號/句柄對應(yīng)表中。
專利摘要
本發(fā)明提供了一種信號量管理方法和信號量管理程序,可以使用資源的符號來操作信號量,而無需在任務(wù)內(nèi)管理信號量句柄。對應(yīng)表管理部件(81)從與資源(7)的符號名相對應(yīng)地登記有管理該資源(7)的信號量的信號量句柄的符號/句柄對應(yīng)表(4)中,取得與任務(wù)(5)發(fā)出的信號量操作命令中包含的符號相對應(yīng)的信號量句柄,在信號量操作命令為信號量獲得命令的情況下,信號量獲得處理部件(83)取得所取得的信號量句柄所表示的信號量,并將由所取得的信號量管理的資源(7)分配給發(fā)出命令的任務(wù)(5),在信號量操作命令為信號量釋放命令的情況下,信號量釋放處理部件(84)釋放由所取得的信號量句柄表示的信號量,并從發(fā)出命令的任務(wù)(5)釋放由該信號量管理的資源(7)。
文檔編號G06F9/52GK1991767SQ200610094654
公開日2007年7月4日 申請日期2006年6月20日
發(fā)明者南角茂樹, 井上禎一郎, 平松宙祥 申請人:三菱電機株式會社導(dǎo)出引文BiBTeX, EndNote, RefMan