專利名稱:進(jìn)程調(diào)度裝置、進(jìn)程調(diào)度方法、程序以及記錄媒體的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在多進(jìn)程環(huán)境下能有效且適當(dāng)?shù)剡M(jìn)行調(diào)度的進(jìn)程調(diào)度裝置、進(jìn)程調(diào)度方法、用于進(jìn)程調(diào)度的程序、以及記錄了用于進(jìn)程調(diào)度的程序的記錄媒體。
背景技術(shù):
當(dāng)前,計(jì)算機(jī)不限于在大型計(jì)算機(jī)和個(gè)人計(jì)算機(jī)那樣形態(tài)中的利用,而且在各種家用電器、便攜式電話等領(lǐng)域中的利用也正在取得進(jìn)展。
作為計(jì)算機(jī)中的有效處理方法,多進(jìn)程處理已為人們所熟知。在該多進(jìn)程處理中,將程序分成進(jìn)程、線程、或被叫做任務(wù)的多個(gè)執(zhí)行單位(在本說明書中叫做“進(jìn)程”),通過基于付與它們的優(yōu)先級(jí)的調(diào)度將各實(shí)單位進(jìn)行并列處理。但是,即使是多進(jìn)程處理,全部的執(zhí)行單位并不是一律作為進(jìn)程被執(zhí)行,以與進(jìn)程不同的形式被執(zhí)行的執(zhí)行單位也不少。例如,用于處理中斷請(qǐng)求的執(zhí)行單位群(中斷處理程序)就是以與進(jìn)程不同的形態(tài)被處理。另外,在中斷處理程序中,沒有必要即時(shí)處理的部分,往往在適當(dāng)?shù)亩〞r(shí)中以與進(jìn)程不同的形態(tài)延遲并被處理。
為了判斷使以在所述中斷處理程序中沒有必要即時(shí)處理的部分那樣的進(jìn)程以外的形態(tài)被執(zhí)行的任務(wù)(在本說明書中叫做“延遲任務(wù)”)和進(jìn)程的哪一個(gè)優(yōu)先并處理,人們考慮到在延遲任務(wù)中也給與優(yōu)先級(jí),并與進(jìn)程相同進(jìn)行調(diào)度。在附加了優(yōu)先級(jí)后將與此相關(guān)發(fā)生的事件進(jìn)行排隊(duì),按照優(yōu)先級(jí)高的順序起動(dòng)與事件對(duì)應(yīng)的進(jìn)程,這樣的進(jìn)程調(diào)度的方法在專利文獻(xiàn)1中被記載。人們考慮到通過使該專利文獻(xiàn)1的方法發(fā)展,將事件設(shè)定為延遲任務(wù)的發(fā)生,將被起動(dòng)的進(jìn)程作為與延遲任務(wù)對(duì)應(yīng)的實(shí)際處理進(jìn)行處理,調(diào)度進(jìn)程和延遲任務(wù)。
但是,專利文獻(xiàn)1中記載的方法不是將多進(jìn)程環(huán)境設(shè)定為前提,不能有效且適當(dāng)?shù)卣{(diào)度進(jìn)程和延遲任務(wù)。即,在使專利文獻(xiàn)1記載的方法適用與多進(jìn)程環(huán)境的場(chǎng)合,有必要使一個(gè)進(jìn)程與每個(gè)事件對(duì)應(yīng)。若多進(jìn)程地處理與已發(fā)生的全部事件對(duì)應(yīng)的進(jìn)程,那么,有必要起動(dòng)大量的進(jìn)程,并在短期間內(nèi)重復(fù)進(jìn)程的生成和消滅。在短期間內(nèi)重復(fù)大量進(jìn)程的生成、消滅對(duì)于計(jì)算機(jī)裝置負(fù)擔(dān)大。另外,通常,若增加正在起動(dòng)的進(jìn)程個(gè)數(shù),那么調(diào)度需要長(zhǎng)時(shí)間,用于管理的存儲(chǔ)器消費(fèi)也將增加。
發(fā)明內(nèi)容
本發(fā)明的第1形態(tài)提供這樣的進(jìn)程調(diào)度裝置,該裝置并行處理分別付與優(yōu)先級(jí)的多個(gè)進(jìn)程,它具備處理所述多個(gè)進(jìn)程中的延遲任務(wù),具備所述延遲任務(wù)被登錄的隊(duì)列表,而且設(shè)置了可變的優(yōu)先級(jí)的至少一個(gè)延遲任務(wù)處理部分;是分別處理所述多個(gè)進(jìn)程中所述延遲任務(wù)以外的一個(gè)進(jìn)程的多個(gè)通常進(jìn)程處理部分,而且各通常進(jìn)程處理部分的優(yōu)先級(jí)應(yīng)被設(shè)定與所述處理的進(jìn)程的優(yōu)先級(jí)相等的通常進(jìn)程處理部分;根據(jù)被設(shè)定在它們中的優(yōu)先級(jí)依次起動(dòng)所述延遲任務(wù)處理部分和通常進(jìn)程處理部分,并處理對(duì)應(yīng)的所述進(jìn)程的進(jìn)程調(diào)度部分;與其自身的優(yōu)先級(jí)一起將新產(chǎn)生的延遲任務(wù)登錄在所述延遲任務(wù)處理部分的隊(duì)列表中的延遲任務(wù)登錄處理部分;選擇被登錄到所述隊(duì)列表的延遲任務(wù)中最高優(yōu)先級(jí)的延遲任務(wù)的延遲任務(wù)優(yōu)先級(jí)控制部分;以及將通過所述延遲任務(wù)優(yōu)先級(jí)控制部分被選擇的延遲任務(wù)的優(yōu)先級(jí)設(shè)定為所述延遲任務(wù)處理部分的優(yōu)先級(jí)的進(jìn)程優(yōu)先級(jí)控制部分。
所謂所述延遲任務(wù)是在多進(jìn)程環(huán)境中以通常的進(jìn)程以外的形態(tài)被執(zhí)行的任務(wù)。例如,所述延遲任務(wù)包含被包含在中斷處理程序中的任務(wù)中間能延遲處理的任務(wù)。另外,延遲任務(wù)包含是來自進(jìn)程的請(qǐng)求而不要求即時(shí)處理的能延遲的任務(wù)。
在本發(fā)明的進(jìn)程調(diào)度裝置中,處理延遲進(jìn)程的延遲任務(wù)處理部分的優(yōu)先級(jí)被設(shè)定為被存儲(chǔ)在它自身具備的隊(duì)列表中的延遲任務(wù)的優(yōu)先級(jí)中優(yōu)先級(jí)最高的優(yōu)先級(jí)。因此,按照這些優(yōu)先級(jí)能夠有效且適當(dāng)?shù)卣{(diào)度延遲任務(wù)和延遲任務(wù)以外的進(jìn)程。
為防止作為優(yōu)先級(jí)高的進(jìn)程比優(yōu)先級(jí)低的進(jìn)程更后被處理的現(xiàn)象的優(yōu)先級(jí)的倒轉(zhuǎn),希望進(jìn)程優(yōu)先級(jí)控制部分當(dāng)新的延遲任務(wù)產(chǎn)生時(shí),在與執(zhí)行過程中的進(jìn)程連接的下一個(gè)進(jìn)程開始之前,進(jìn)行延遲任務(wù)處理進(jìn)程部分的優(yōu)先級(jí)的設(shè)定。具體地說,進(jìn)程優(yōu)先級(jí)控制部分在新的延遲任務(wù)產(chǎn)生了的場(chǎng)合,將中斷執(zhí)行過程中的進(jìn)程,在執(zhí)行了延遲任務(wù)處理部分的優(yōu)先級(jí)的設(shè)定后,再開始所述被中斷的進(jìn)程?;蛘撸M(jìn)程優(yōu)先級(jí)控制部分在產(chǎn)生了新的延遲任務(wù)的場(chǎng)合,在執(zhí)行中的進(jìn)程結(jié)束后,在下一個(gè)進(jìn)程開始之前,進(jìn)行所述延遲任務(wù)處理部分的優(yōu)先級(jí)的設(shè)定。在這些進(jìn)程中,包含被所述通常進(jìn)程處理部分處理的進(jìn)程和被所述延遲任務(wù)處理部分處理的延遲任務(wù)。
本發(fā)明的第2形態(tài)提供這樣的進(jìn)程調(diào)度方法,該方法并行地處理分別被付與優(yōu)先級(jí)的多個(gè)進(jìn)程,根據(jù)付與這些進(jìn)程的優(yōu)先級(jí)依次執(zhí)行處理延遲任務(wù)的延遲任務(wù)處理進(jìn)程和進(jìn)行所述延遲任務(wù)以外的處理的通常進(jìn)程,與被付與該延遲任務(wù)的優(yōu)先級(jí)同時(shí)將新產(chǎn)生的延遲任務(wù)登錄在隊(duì)列表中,選擇在所述隊(duì)列表中被記錄的延遲任務(wù)中優(yōu)先級(jí)是最高的延遲任務(wù),并將所述被選擇的延遲任務(wù)的優(yōu)先級(jí)設(shè)定為所述延遲任務(wù)處理進(jìn)程本身的優(yōu)先級(jí)。
本發(fā)明的第3形態(tài)提供這樣的程序,該程序用于在計(jì)算機(jī)中并行處理分別付與優(yōu)先級(jí)的多個(gè)進(jìn)程,它具備根據(jù)付與這些進(jìn)程的優(yōu)先級(jí)依次執(zhí)行處理延遲任務(wù)的延遲任務(wù)處理進(jìn)程和進(jìn)行所述延遲任務(wù)以外的處理的通常進(jìn)程的工序;與付與該延遲任務(wù)的優(yōu)先級(jí)的同時(shí)將新產(chǎn)生的延遲任務(wù)登錄到隊(duì)列表的工序;選擇被記錄到所述隊(duì)列表的延遲任務(wù)中優(yōu)先級(jí)是最高的延遲任務(wù)的工序;以及將所述被選擇的延遲任務(wù)的優(yōu)先級(jí)設(shè)定為所述延遲任務(wù)處理進(jìn)程本身的優(yōu)先級(jí)的工序。
本發(fā)明的第4形態(tài)提供記錄了所述程序的、計(jì)算機(jī)能讀取的記錄媒體。
在本發(fā)明中,處理延遲任務(wù)的延遲任務(wù)處理進(jìn)程的優(yōu)先級(jí)被設(shè)定為被存儲(chǔ)到它本身具備的隊(duì)列表的延遲任務(wù)的優(yōu)先級(jí)中優(yōu)先級(jí)最高的優(yōu)先級(jí)。因此,按照這些優(yōu)先級(jí)能夠有效且適當(dāng)?shù)卣{(diào)度延遲任務(wù)和延遲任務(wù)以外的通常的進(jìn)程。
另外,通過在新的任務(wù)產(chǎn)生時(shí)在與執(zhí)行中的進(jìn)程相連的下一個(gè)進(jìn)程開始之前進(jìn)行延遲任務(wù)處理進(jìn)程的優(yōu)先級(jí)的設(shè)定,能夠防止優(yōu)先級(jí)的倒轉(zhuǎn)現(xiàn)象。
本發(fā)明的其它目的和特征通過涉及參照附圖的合適的實(shí)施形態(tài)的以下的說明將變得明確。
圖1是構(gòu)成涉及本發(fā)明的實(shí)施形態(tài)的進(jìn)程調(diào)度裝置的計(jì)算機(jī)裝置的概略構(gòu)成圖;圖2是用于說明進(jìn)程調(diào)度部分12的動(dòng)作的流程圖;圖3是用于說明中斷請(qǐng)求的處理的流程圖;圖4是用于說明延遲任務(wù)處理進(jìn)程的流程圖;圖5A和5B是表示涉及本發(fā)明的實(shí)施形態(tài)的進(jìn)程調(diào)度的一例的時(shí)間圖;圖6A和6B是表示涉及本發(fā)明的實(shí)施形態(tài)的進(jìn)程調(diào)度的其它一例的時(shí)間圖;圖7是用于說明延遲任務(wù)處理進(jìn)程的其它一例的流程圖;圖8是用于說明延遲任務(wù)處理進(jìn)程的又一個(gè)其它一例的流程圖;圖9A和9B是用于說明本發(fā)明的進(jìn)程調(diào)度的其它一例的時(shí)間圖。
具體實(shí)施例方式
圖1表示作為本發(fā)明的進(jìn)程調(diào)度裝置的計(jì)算機(jī)。計(jì)算機(jī)至少具備中央運(yùn)算處理裝置(CPU)1和存儲(chǔ)器裝置2。另外,計(jì)算機(jī)可以具備未圖示的輸入裝置、輸出裝置那樣的其它設(shè)備。
CPU1,如果處理性能足夠,那么能夠使用任意類型的CPU。
在存儲(chǔ)器裝置2中,存儲(chǔ)了包含計(jì)算機(jī)的操作系統(tǒng)(OS)10、一個(gè)延遲任務(wù)處理進(jìn)程#1、以及其它的多個(gè)進(jìn)程#1、#2…#N(N是自然數(shù))的程序和數(shù)據(jù)。存儲(chǔ)器裝置2,如果有充分的功能和容量,那么能夠使用隨機(jī)存取存儲(chǔ)器(RAM)、快速存儲(chǔ)器那樣的任意類型的存儲(chǔ)器。另外,存儲(chǔ)器裝置2沒有必要用單一的存儲(chǔ)器裝置構(gòu)成,可以是同一種類的多個(gè)存儲(chǔ)器裝置或包含只讀存儲(chǔ)器(ROM)的不同種類的存儲(chǔ)器裝置的組合。此外,在存儲(chǔ)器裝置2以外可以設(shè)置硬盤驅(qū)動(dòng)器那樣的外部存儲(chǔ)裝置,在對(duì)計(jì)算機(jī)的動(dòng)作沒有問題的范圍內(nèi)可以使程序和數(shù)據(jù)向外部存儲(chǔ)裝置轉(zhuǎn)移。
延遲任務(wù)處理進(jìn)程#1是只處理延遲任務(wù)的專用進(jìn)程,若從功能上看,構(gòu)成延遲任務(wù)處理部分。其它的進(jìn)程#2、#3…#N是用于執(zhí)行延遲任務(wù)以外的進(jìn)程的通常的進(jìn)程,若從功能上看,構(gòu)成通常進(jìn)程處理部分。在延遲任務(wù)處理進(jìn)程#1以及其它的進(jìn)程#2、#3…#N中分別付與優(yōu)先級(jí)。在本實(shí)施形態(tài)中,用象0、1、2、3…R…那樣的0和自然數(shù)表示進(jìn)程的優(yōu)先級(jí)。表示該數(shù)字的值越小,優(yōu)先級(jí)越高。但是,優(yōu)先級(jí)的表現(xiàn)不受此限定,能決定進(jìn)程之間的優(yōu)先級(jí)就行。付與延遲任務(wù)處理進(jìn)程#1的優(yōu)先級(jí)是可變的,如后面詳述的那樣,按照處理的延遲任務(wù)被變更。另一方面,付與其它的進(jìn)程#2、#3…#N的優(yōu)先級(jí)是固定的,沒有變更。在圖1中,作為例子,將延遲任務(wù)處理進(jìn)程#1以外的進(jìn)程中間的進(jìn)程#2的優(yōu)先級(jí)設(shè)定為3,將進(jìn)程#3的優(yōu)先級(jí)設(shè)定為1。
延遲任務(wù)處理進(jìn)程#1具備隊(duì)列表21。每當(dāng)重新產(chǎn)生延遲任務(wù)時(shí),表示該延遲任務(wù)的標(biāo)識(shí)符與優(yōu)先級(jí)同時(shí)被登錄在該隊(duì)列表21中。在本實(shí)施形態(tài)中,作為延遲任務(wù)的標(biāo)識(shí)符使用了象A、B、C…那樣的字母。但是,延遲任務(wù)的標(biāo)識(shí)符不受此限定,如能識(shí)別各個(gè)延遲任務(wù)就可以。另外,在本實(shí)施形態(tài)中,與所述延遲任務(wù)處理進(jìn)程#1和其它的進(jìn)程#2、#3…#N的優(yōu)先級(jí)相同,用象0、1、2、3…那樣的0和自然數(shù)表示延遲任務(wù)的優(yōu)先級(jí),表示值越小優(yōu)先級(jí)越高。延遲任務(wù)處理進(jìn)程#1按照它的優(yōu)先級(jí)的順序執(zhí)行被登錄在隊(duì)列表21中的延遲任務(wù)。另外,延遲任務(wù)處理進(jìn)程#1本身的優(yōu)先級(jí)被設(shè)定為被登錄在隊(duì)列表21中的延遲任務(wù)的優(yōu)先級(jí)中間優(yōu)先級(jí)最高的優(yōu)先級(jí)。在圖1中,作為例子,在隊(duì)列表21中登錄了優(yōu)先級(jí)4的延遲任務(wù)B、優(yōu)先級(jí)5的延遲任務(wù)C。另外,執(zhí)行過程中的任務(wù)是優(yōu)先級(jí)最高的延遲任務(wù)A(優(yōu)先級(jí)2)。執(zhí)行中的延遲任務(wù)直到結(jié)束處理以前沒有從隊(duì)列表21中刪除,但為了明確在圖1中是執(zhí)行中的延遲任務(wù),使執(zhí)行中的延遲任務(wù)A與隊(duì)列表21中的其它延遲任務(wù)B、C分離并進(jìn)行圖示。此外,在圖1中,延遲任務(wù)處理進(jìn)程#1本身的優(yōu)先級(jí)被設(shè)定為優(yōu)先級(jí)最高的延遲任務(wù)A的優(yōu)先級(jí)(優(yōu)先級(jí)2)。
OS10為了與CPU協(xié)同動(dòng)作實(shí)現(xiàn)本調(diào)度方法,具備中斷處理程序處理部分11、進(jìn)程調(diào)度部分12、延遲任務(wù)登錄處理部分13、延遲任務(wù)優(yōu)先級(jí)控制部分14以及進(jìn)程優(yōu)先級(jí)控制部分15。若說明關(guān)于這些功能,那么,中斷處理程序處理部分11處理通過中斷請(qǐng)求產(chǎn)生的中斷處理程序。接著,進(jìn)程調(diào)度部分12根據(jù)付與這些進(jìn)程的優(yōu)先級(jí)順次執(zhí)行延遲任務(wù)處理進(jìn)程#1以及其它進(jìn)程#2、#3…#N中間正在起動(dòng)中的進(jìn)程,從而按時(shí)間分割地并行處理多個(gè)進(jìn)程。另外,延遲任務(wù)登錄處理部分13與給該延遲任務(wù)付與了優(yōu)先級(jí)的同時(shí)將新產(chǎn)生的延遲任務(wù)的標(biāo)識(shí)符登錄在延遲任務(wù)處理進(jìn)程#1的排隊(duì)調(diào)度表21中。此外,延遲任務(wù)優(yōu)先級(jí)控制部分14選擇被登錄在排隊(duì)調(diào)度表21中的延遲任務(wù)中間優(yōu)先級(jí)最高的延遲任務(wù)。延遲任務(wù)優(yōu)先級(jí)控制部分14可以按照它們的優(yōu)先級(jí)高的順序重新排列被登錄在隊(duì)列表21中的延遲任務(wù)。此外,進(jìn)程優(yōu)先級(jí)控制部分15將被延遲任務(wù)優(yōu)先級(jí)控制部分14選擇的延遲任務(wù)的優(yōu)先級(jí)設(shè)定為延遲任務(wù)處理進(jìn)程#1本身的優(yōu)先級(jí)。
接著,參照從圖2到圖3的流程圖說明本實(shí)施形態(tài)的多進(jìn)程調(diào)度裝置的動(dòng)作。在這些流程圖中被實(shí)現(xiàn)的功能能夠作為一個(gè)程序?qū)崿F(xiàn)。另外,可以將這樣的程序記錄在計(jì)算機(jī)能讀取的記錄媒體中。
在圖2的步驟S2-1中,進(jìn)程調(diào)度部分12根據(jù)優(yōu)先級(jí)選擇下次被執(zhí)行的進(jìn)程。詳細(xì)地說,進(jìn)程調(diào)度部分12比較延遲任務(wù)處理進(jìn)程#1以及其它的進(jìn)程#2、#3…#N中間正在起動(dòng)中的進(jìn)程的優(yōu)先級(jí),從優(yōu)先級(jí)高的進(jìn)程按照順序執(zhí)行。在步驟S2-2中,執(zhí)行在步驟S2-2中所選擇的延遲任務(wù)處理進(jìn)程#1或其它的進(jìn)程#2、#3…#N的任何一個(gè)。若一個(gè)進(jìn)程的執(zhí)行結(jié)束,那么在步驟S2-1中進(jìn)程調(diào)度部分12再一次選擇下次被執(zhí)行的進(jìn)程。
圖3表示在進(jìn)程#2、#3…#N的執(zhí)行中已經(jīng)有中斷請(qǐng)求的場(chǎng)合的處理。若有中斷請(qǐng)求,那么在步驟S3-1中,中斷處理程序處理部分11將執(zhí)行中斷處理程序中間需要即時(shí)處理的任務(wù)(即時(shí)處理任務(wù))。接著,在步驟S3-2中,中斷處理程序處理部分11判斷在中斷處理程序中是否包含延遲任務(wù)。在沒有包含延遲任務(wù)的場(chǎng)合,在步驟S3-6中,返回到執(zhí)行中的進(jìn)程。另一方面,在包含了延遲任務(wù)的場(chǎng)合,在步驟S3-3中,延遲任務(wù)登錄處理部分13將延遲任務(wù)的標(biāo)識(shí)符和優(yōu)先級(jí)登錄在延遲任務(wù)處理進(jìn)程#1的隊(duì)列表21中。接著,在步驟S3-4中,延遲任務(wù)優(yōu)先級(jí)控制部分14選擇被登錄在隊(duì)列表21中的延遲任務(wù)中間優(yōu)先級(jí)是最高的延遲任務(wù)。接著,在S3-5中,進(jìn)程優(yōu)先級(jí)控制部分15將延遲任務(wù)處理進(jìn)程#1的優(yōu)先級(jí)設(shè)定為被延遲任務(wù)優(yōu)先級(jí)控制部分14選擇的最高優(yōu)先級(jí)的延遲任務(wù)的優(yōu)先級(jí)。在延遲處理進(jìn)程#1的優(yōu)先級(jí)被設(shè)定后,在步驟S3-6中返回到執(zhí)行中的進(jìn)程。
圖4表示延遲任務(wù)處理進(jìn)程(圖2的步驟S2-2)的內(nèi)容。首先,在步驟S4-1中,開始處理被登錄在隊(duì)列表21中的延遲任務(wù)中間具有最高優(yōu)先級(jí)的延遲任務(wù)。接著,步驟S4-2中,判斷是否產(chǎn)生新的延遲任務(wù),即產(chǎn)生新的中斷請(qǐng)求,而且判斷該新的被請(qǐng)求的中斷處理是否包含延遲任務(wù)。若在步驟S4-2中沒有產(chǎn)生新的延遲任務(wù),那么在步驟S4-3中,直到當(dāng)前處理中的延遲任務(wù)結(jié)束以前,處理被繼續(xù)。接著,在步驟S4-4中,延遲任務(wù)登錄處理部分13將從隊(duì)列表21中刪除處理結(jié)束的延遲任務(wù)。另外,在步驟S4-5中,延遲任務(wù)處理進(jìn)程#1的優(yōu)先級(jí)被設(shè)定為在隊(duì)列表21中最高優(yōu)先級(jí)的延遲任務(wù)的優(yōu)先級(jí)。具體地說,延遲任務(wù)優(yōu)先級(jí)控制部分14選擇被登錄在隊(duì)列表21中的延遲任務(wù)中間優(yōu)先級(jí)是最高的延遲任務(wù),并將進(jìn)程優(yōu)先級(jí)控制部分15所選擇的延遲任務(wù)的優(yōu)先級(jí)設(shè)定為延遲任務(wù)處理進(jìn)程#1的優(yōu)先級(jí)。
另一方面,在步驟S4-2中,在新產(chǎn)生了延遲任務(wù)的場(chǎng)合,首先在步驟S4-6中延遲任務(wù)登錄處理部分13與其優(yōu)先級(jí)同時(shí)將新產(chǎn)生的延遲任務(wù)的標(biāo)識(shí)符登錄到隊(duì)列表21中。接著,在步驟S4-7中,延遲任務(wù)優(yōu)先級(jí)控制部分14判斷新產(chǎn)生的延遲(任務(wù))的優(yōu)先級(jí)是否比隊(duì)列表21中以及當(dāng)前正在處理中的延遲任務(wù)的優(yōu)先級(jí)高。在步驟S4-7中,在新的延遲任務(wù)的優(yōu)先級(jí)不比隊(duì)列表21中以及當(dāng)前正在處理中的延遲任務(wù)高的場(chǎng)合,返回到在步驟S4-2。另一方面,在步驟S4-7中,在新的延遲任務(wù)的優(yōu)先級(jí)比隊(duì)列表21內(nèi)以及當(dāng)前正在處理中的任務(wù)高的場(chǎng)合,在步驟S4-8中進(jìn)程優(yōu)先級(jí)控制部分15將延遲任務(wù)處理進(jìn)程#1的優(yōu)先級(jí)變更成新產(chǎn)生的延遲任務(wù)的優(yōu)先級(jí)。
接著,參照?qǐng)D5A、5B、6A、以及6B,說明被實(shí)施形態(tài)的多進(jìn)程調(diào)度被簡(jiǎn)化的例子。在這些從圖5A到圖6B中,粗實(shí)線表示該進(jìn)程是確保CPU1并被執(zhí)行的狀態(tài)。另外,空白的粗線表示OS10的處理由CPU1執(zhí)行。圖5A以及圖5B表示當(dāng)在延遲任務(wù)處理進(jìn)程#1以外的進(jìn)程#2、#3…#N的執(zhí)行中已有中斷請(qǐng)求的場(chǎng)合的一例,圖6A以及圖6B表示當(dāng)在延遲任務(wù)處理進(jìn)程#1的執(zhí)行中已有中斷請(qǐng)求的場(chǎng)合的一例。
若參照?qǐng)D5A以及圖5B,那么在時(shí)刻t0的時(shí)間,優(yōu)先級(jí)4的延遲任務(wù)B和優(yōu)先級(jí)5的延遲任務(wù)C被登錄在延遲任務(wù)處理進(jìn)程#1的隊(duì)列表21中,延遲任務(wù)處理進(jìn)程#1的優(yōu)先級(jí)被設(shè)定為4。另外,優(yōu)先級(jí)3的進(jìn)程#2和優(yōu)先級(jí)1的進(jìn)程#3已起動(dòng)。
在使進(jìn)程#3正在執(zhí)行中的時(shí)刻t1產(chǎn)生中斷請(qǐng)求,并通過中斷處理程序處理部分11執(zhí)行中斷處理程序100(從時(shí)刻t1到時(shí)刻t2步驟S3-1~S3-6)。在中斷處理程序100中用100a表示的部分是即時(shí)執(zhí)行任務(wù)(步驟S3-1)。在中斷處理程序中間用100b表示的部分中,延遲任務(wù)登錄控制部分13將新產(chǎn)生的延遲任務(wù)A(優(yōu)先級(jí)2)登錄在隊(duì)列表21中(步驟S3-3)。另外,新產(chǎn)生的延遲任務(wù)A的優(yōu)先級(jí)由于比已經(jīng)被登錄的延遲任務(wù)B、C的優(yōu)先級(jí)高,因此通過延遲任務(wù)優(yōu)先級(jí)控制部分14以及進(jìn)程優(yōu)先級(jí)控制部分15將延遲任務(wù)處理進(jìn)程#1的優(yōu)先級(jí)設(shè)定為是延遲任務(wù)A的優(yōu)先級(jí)的2(步驟S3-4、步驟S3-5)。在中斷處理程序結(jié)束后,進(jìn)程#3的處理被重新開始(從時(shí)刻t2到時(shí)刻t3步驟S3-6)。
若進(jìn)程#3的處理全部結(jié)束,那么進(jìn)程調(diào)度部分12就選擇下次執(zhí)行的進(jìn)程(從時(shí)刻t3到時(shí)刻t4步驟S2-1、2-2)。比較延遲處理任務(wù)處理進(jìn)程#1的優(yōu)先級(jí)(優(yōu)先級(jí)為2)和進(jìn)程#2的優(yōu)先級(jí)(優(yōu)先級(jí)為3),并選擇優(yōu)先級(jí)高的延遲任務(wù)處理進(jìn)程#1。
延遲任務(wù)處理進(jìn)程#1執(zhí)行在隊(duì)列表21內(nèi)優(yōu)先級(jí)最高的延遲任務(wù)A的處理(從時(shí)刻t4到時(shí)刻t5步驟S4-1)。若沒有產(chǎn)生新的延遲任務(wù)(步驟S4-2),并在時(shí)刻t5結(jié)束延遲任務(wù)A的處理(步驟S4-3),那么延遲任務(wù)處理進(jìn)程#1將處理結(jié)束通知OS10。接收了該通知的OS10的延遲任務(wù)登錄處理部分13將處理結(jié)束的延遲任務(wù)A從隊(duì)列表21中刪除(步驟S4-4)。另外,繼該步驟之后通過延遲任務(wù)優(yōu)先級(jí)控制部分14以及進(jìn)程優(yōu)先級(jí)控制部分15,將延遲處理任務(wù)處理進(jìn)程#1的優(yōu)先級(jí)設(shè)定為在隊(duì)列表21內(nèi)優(yōu)先級(jí)最高的延遲任務(wù)B的優(yōu)先級(jí)(優(yōu)先級(jí)為4)(從時(shí)刻t5到時(shí)刻t6步驟S4-5)。
象以上那樣,若結(jié)束延遲任務(wù)處理進(jìn)程#1的一個(gè)延遲任務(wù)的處理和伴隨它的延遲任務(wù)處理進(jìn)程#1的優(yōu)先級(jí)的變更,那么進(jìn)程調(diào)度部分12將選擇下次執(zhí)行的進(jìn)程(從時(shí)刻t6到時(shí)刻t7)。比較延遲任務(wù)處理進(jìn)程#1的優(yōu)先級(jí)(優(yōu)先級(jí)為4)和進(jìn)程#2的優(yōu)先級(jí)(優(yōu)先級(jí)為3),并選擇優(yōu)先級(jí)高的進(jìn)程#2。
在進(jìn)程#2被執(zhí)行后(從時(shí)刻t7到時(shí)刻t8),進(jìn)程調(diào)度部分12選擇下次執(zhí)行的進(jìn)程(從時(shí)刻t8到時(shí)刻t9),并選擇因由于優(yōu)先級(jí)最低未處理而剩下的延遲任務(wù)處理進(jìn)程#1。這時(shí),在延遲任務(wù)處理進(jìn)程#1中,執(zhí)行在隊(duì)列表21內(nèi)優(yōu)先級(jí)最高的延遲任務(wù)B(優(yōu)先級(jí)為4)。
象以上那樣,優(yōu)先級(jí)2的延遲任務(wù)A的處理被執(zhí)行(從時(shí)刻t4到時(shí)刻t5),接著優(yōu)先級(jí)3的進(jìn)程#2被執(zhí)行(從時(shí)刻t7到時(shí)刻t8),之后,優(yōu)先級(jí)4的延遲任務(wù)B被執(zhí)行。因此,在本實(shí)施形態(tài)的多進(jìn)程調(diào)度中,延遲任務(wù)和進(jìn)程按照優(yōu)先級(jí)有效且適當(dāng)?shù)乇徽{(diào)度。
接著,若參照?qǐng)D6A以及圖6B,在時(shí)刻t0的時(shí)間,優(yōu)先級(jí)2的延遲任務(wù)A、優(yōu)先級(jí)的延遲任務(wù)B、以及優(yōu)先級(jí)5的延遲任務(wù)C被登錄到延遲任務(wù)處理進(jìn)程#1的隊(duì)列表21,而且使優(yōu)先級(jí)最高的延遲任務(wù)A正在執(zhí)行中。另外,時(shí)刻t0的時(shí)間的延遲任務(wù)處理進(jìn)程#1被設(shè)定為與延遲任務(wù)A相同的優(yōu)先級(jí)2。
在使延遲任務(wù)處理進(jìn)程#1正在執(zhí)行中的時(shí)刻t11產(chǎn)生中斷請(qǐng)求,并執(zhí)行中斷處理程序100(從時(shí)刻t11到時(shí)刻t12步驟S3-1~S3-6)。在完成即時(shí)執(zhí)行任務(wù)的處理后(部分100a步驟S3-1),延遲任務(wù)登錄處理部分13向隊(duì)列表21登錄新產(chǎn)生的延遲任務(wù)D(S3-2、S3-3、S4-6),同時(shí),延遲任務(wù)優(yōu)先級(jí)控制部分14以及進(jìn)程優(yōu)先級(jí)控制部分15將延遲進(jìn)程處理進(jìn)程#1的優(yōu)先級(jí)設(shè)定為是延遲任務(wù)D的優(yōu)先級(jí)的0(步驟S3-4、S3-5、S4-7、S4-8)。在中斷處理程序結(jié)束后,在延遲任務(wù)處理進(jìn)程#1中的延遲任務(wù)A的處理被重新開始(從時(shí)刻t12到時(shí)刻t13步驟S3-6)。
若在時(shí)刻t13結(jié)束延遲任務(wù)A的處理,那么延遲任務(wù)登錄處理部分13從隊(duì)列表21中刪除處理結(jié)束的延遲任務(wù)A(從時(shí)刻t13到時(shí)刻t14)。但是,由于延遲任務(wù)處理進(jìn)程#1的優(yōu)先級(jí)已經(jīng)被設(shè)定為優(yōu)先級(jí)0,因此沒有被變更(步驟S4-2~S4-5)。
接著,進(jìn)程調(diào)度部分12選擇下次執(zhí)行的進(jìn)程(從時(shí)刻t14到時(shí)刻t15步驟S2-1、S2-2)。比較延遲處理任務(wù)處理進(jìn)程#1的優(yōu)先級(jí)(優(yōu)先級(jí)為0)和進(jìn)程32、#3的優(yōu)先級(jí)(優(yōu)先級(jí)為3、1),選擇優(yōu)先級(jí)最高的延遲任務(wù)處理進(jìn)程#1。延遲任務(wù)處理進(jìn)程#1執(zhí)行在隊(duì)列表21內(nèi)優(yōu)先級(jí)最高的延遲任務(wù)D的處理(步驟S4-1)。若沒有產(chǎn)生新的延遲任務(wù),并在時(shí)刻t16結(jié)束延遲任務(wù)D的處理,那么延遲任務(wù)登錄處理部分13就從隊(duì)列表21中刪除處理已結(jié)束的延遲任務(wù)D,并將延遲處理任務(wù)處理進(jìn)程#1的優(yōu)先級(jí)設(shè)定為在隊(duì)列表21內(nèi)優(yōu)先級(jí)最高的延遲任務(wù)B的優(yōu)先級(jí)(優(yōu)先級(jí)為4)(從時(shí)刻t16到時(shí)刻t17步驟S4-2~S4-5)。
接著,進(jìn)程調(diào)度部分12選擇下次執(zhí)行的進(jìn)程,并選擇進(jìn)程#2、#3(優(yōu)先級(jí)為3、1)中優(yōu)先級(jí)高的進(jìn)程#3。在進(jìn)程#3執(zhí)行后(從時(shí)刻t18到時(shí)刻t19),作為下次的進(jìn)程選擇在未處理中剩余的進(jìn)程#2。
即使在該圖6A以及圖6B的例子中,優(yōu)先級(jí)0的延遲任務(wù)D的處理也被執(zhí)行(從時(shí)刻t15到時(shí)刻t16),接著執(zhí)行優(yōu)先級(jí)1的進(jìn)程#3(從時(shí)刻t16到時(shí)刻t18),之后,執(zhí)行優(yōu)先級(jí)3的進(jìn)程#2,延遲任務(wù)和進(jìn)程按照優(yōu)先級(jí)有效且適當(dāng)?shù)乇徽{(diào)度。
在本實(shí)施形態(tài)的多進(jìn)程調(diào)度中,由于只是一個(gè)延遲任務(wù)處理進(jìn)程#1執(zhí)行延遲任務(wù)的處理,因此沒有必要為了處理延遲任務(wù)而在短期間重復(fù)進(jìn)程的生成和消滅,在調(diào)度所需要的時(shí)間和存儲(chǔ)器的消費(fèi)方面不會(huì)成為大的負(fù)擔(dān)。
在進(jìn)程和延遲任務(wù)的調(diào)度中,有必要防止優(yōu)先級(jí)高的進(jìn)程比優(yōu)先級(jí)低的進(jìn)程更后被處理的現(xiàn)象(優(yōu)先級(jí)倒轉(zhuǎn))發(fā)生。在本實(shí)施形態(tài)中,為防止優(yōu)先級(jí)的倒轉(zhuǎn)現(xiàn)象的發(fā)生,若通過延遲任務(wù)登錄處理部分13將新的延遲任務(wù)登錄到隊(duì)列表21,那么用實(shí)質(zhì)上與該登錄相同的定時(shí)進(jìn)行進(jìn)程優(yōu)先級(jí)設(shè)定部分15的延遲任務(wù)處理進(jìn)程#1的優(yōu)先級(jí)的變更。具體地說,若通過中斷請(qǐng)求產(chǎn)生新的延遲任務(wù),那么直到在中斷的時(shí)刻正在執(zhí)行中的進(jìn)程或延遲任務(wù)的執(zhí)行結(jié)束之前,或在中斷的時(shí)刻執(zhí)行中的進(jìn)程或延遲任務(wù)結(jié)束后,并在下一個(gè)進(jìn)程或延遲任務(wù)開始之前,進(jìn)行延遲任務(wù)處理進(jìn)程#1的優(yōu)先級(jí)的變更(參照從圖3的步驟S3-3到S3-5、圖4的步驟S4-5、S4-8,從圖5A的時(shí)刻t1到t2,以及從圖6A的時(shí)刻t11到t12)。換言之,在本實(shí)施形態(tài)中,在產(chǎn)生了新的延遲任務(wù)時(shí),在接著執(zhí)行中的進(jìn)程(通常的進(jìn)程或延遲任務(wù))的下一個(gè)進(jìn)程(通常的進(jìn)程或延遲任務(wù))被開始之前,進(jìn)行延遲任務(wù)處理進(jìn)程#1本身的優(yōu)先級(jí)的設(shè)定。
圖7表示延遲任務(wù)處理進(jìn)程的其它的例子。在該例子中,在由延遲任務(wù)的處理中產(chǎn)生了優(yōu)先級(jí)高的延遲任務(wù)的場(chǎng)合,將即時(shí)中斷處理中的延遲任務(wù),并進(jìn)行新產(chǎn)生的優(yōu)先級(jí)高的延遲任務(wù)的處理。但是,由于也有時(shí)候處理中的延遲任務(wù)不能中斷,因此在該場(chǎng)合繼續(xù)進(jìn)行該延遲任務(wù)的處理。例如,在處理中的延遲任務(wù)是數(shù)據(jù)的重寫,若中斷將產(chǎn)生數(shù)據(jù)不整合的場(chǎng)合,將不能中斷處理中的延遲任務(wù)。從圖7的步驟S7-1到S7-8,與從圖4的步驟S4-1到S4-8相同。在步驟S7-7中當(dāng)產(chǎn)生的延遲任務(wù)比在隊(duì)列表21內(nèi)以及當(dāng)前正在處理中的延遲任務(wù)的優(yōu)先級(jí)高的場(chǎng)合,在步驟S7-8中將延遲任務(wù)處理進(jìn)程的優(yōu)先級(jí)設(shè)定為新產(chǎn)生的延遲任務(wù)的優(yōu)先級(jí)。接著,在步驟S7-9,若當(dāng)前正在處理中的延遲任務(wù)能中斷,那么就返回到S7-1,并開始在隊(duì)列表21內(nèi)優(yōu)先級(jí)最高的延遲任務(wù)的處理。由于在S7-6中被登錄的新產(chǎn)生的延遲任務(wù)在隊(duì)列表21內(nèi)具有最高的優(yōu)先級(jí),因此在步驟S7-1中正在處理中的延遲任務(wù)被中斷,并開始新產(chǎn)生的延遲任務(wù)的處理。另一方面,在步驟S7-9中當(dāng)正在處理中的延遲任務(wù)不能中斷的場(chǎng)合,將返回到步驟S7-2,繼續(xù)進(jìn)行延遲任務(wù)的處理。
圖8表示延遲任務(wù)執(zhí)行處理的又一個(gè)其它例子。在該例中,當(dāng)在延遲任務(wù)的處理中重新產(chǎn)生了延遲任務(wù)的場(chǎng)合,只進(jìn)行向隊(duì)列表21的登錄,延遲任務(wù)處理進(jìn)程的優(yōu)先級(jí)的變更在處理中的延遲任務(wù)結(jié)束后進(jìn)行。在圖8中從步驟S8-1到步驟S8-5與從圖4的步驟S4-1到步驟S4-5相同。在步驟S8-2中若重新產(chǎn)生延遲任務(wù),那么在步驟S8-6中向隊(duì)列表21登錄該新產(chǎn)生的延遲任務(wù)。之后,返回到步驟S8-2,繼續(xù)進(jìn)行延遲任務(wù)的處理。
在所述實(shí)施形態(tài)中,OS10全部進(jìn)行向隊(duì)列表21的延遲任務(wù)的登錄和刪除,以及延遲任務(wù)處理進(jìn)程的優(yōu)先級(jí)的(處理)。但是,延遲任務(wù)處理進(jìn)程#1本身可以進(jìn)行一部分的處理。圖9表示延遲任務(wù)處理進(jìn)程#1本身進(jìn)行結(jié)束了的延遲任務(wù)的刪除和延遲任務(wù)處理進(jìn)程#1的變更的例子。在圖9中,從時(shí)刻t0到時(shí)刻t5以及從時(shí)刻t6到時(shí)刻b9的處理與圖5A和圖5B相同。若在時(shí)刻t5結(jié)束延遲任務(wù)A的處理,那么延遲任務(wù)處理進(jìn)程#1就從隊(duì)列表21中刪除延遲任務(wù)A。另外,延遲任務(wù)處理進(jìn)程#1將它本身的優(yōu)先級(jí)變更成是在隊(duì)列表21內(nèi)具有最高的優(yōu)先級(jí)的延遲任務(wù)B的優(yōu)先級(jí)4。
本發(fā)明不受所述實(shí)施形態(tài)的限定,可以有各種變形。例如,若是比較少的數(shù)可以設(shè)置2個(gè)以上的延遲任務(wù)處理進(jìn)程,并同時(shí)將它們起動(dòng)。
另外,延遲任務(wù)如所述實(shí)施形態(tài)那樣不受中斷處理程序的被延遲處理的部分的限定,可以是以與進(jìn)程不同的形態(tài)被處理的任意的處理。例如,接收了來自進(jìn)程的請(qǐng)求的OS在將對(duì)于該請(qǐng)求的處理的一部分設(shè)定為延遲任務(wù)的場(chǎng)合,也能夠應(yīng)用本發(fā)明。具體地說,有時(shí)候進(jìn)程對(duì)于OS經(jīng)由網(wǎng)絡(luò)請(qǐng)求數(shù)據(jù)發(fā)送,OS判斷沒有必要即時(shí)處理該數(shù)據(jù)發(fā)送而作為延遲任務(wù)進(jìn)行處理。在該場(chǎng)合,在從圖5A到圖6B中,從進(jìn)程到OS10形成數(shù)據(jù)發(fā)送的請(qǐng)求,代替中斷處理發(fā)生。
本發(fā)明由于涉及計(jì)算機(jī)的調(diào)度,因此能夠在使用計(jì)算機(jī)的任何領(lǐng)域應(yīng)用。例如,在各種家用電器、便攜式電話等通信設(shè)備,或者工業(yè)機(jī)器等中能夠應(yīng)用本發(fā)明。
參照附圖已完全說明了本發(fā)明,但對(duì)于該同業(yè)者來說,能進(jìn)行各種變更和變形。因此,這樣的變更和變形只要不脫離本發(fā)明的意圖和范圍,必須被解釋為被包含在本發(fā)明中。
權(quán)利要求
1.一種進(jìn)程調(diào)度裝置,它并行處理分別付與優(yōu)先級(jí)的多個(gè)進(jìn)程,其特征在于,它具備處理所述多個(gè)進(jìn)程中的延遲任務(wù),具備所述延遲任務(wù)被登錄的隊(duì)列表,而且設(shè)置了可變的優(yōu)先級(jí)的至少一個(gè)延遲任務(wù)處理部分;是分別處理所述多個(gè)進(jìn)程中所述延遲任務(wù)以外的一個(gè)進(jìn)程的多個(gè)通常進(jìn)程處理部分,而且各通常進(jìn)程處理部分的優(yōu)先級(jí)應(yīng)被設(shè)定與所述處理的進(jìn)程的優(yōu)先級(jí)相等的通常進(jìn)程處理部分;根據(jù)被設(shè)定在它們中的優(yōu)先級(jí)依次起動(dòng)所述延遲任務(wù)處理部分和通常進(jìn)程處理部分,并處理對(duì)應(yīng)的所述進(jìn)程的進(jìn)程調(diào)度部分;與其自身的優(yōu)先級(jí)同時(shí)將新產(chǎn)生的延遲任務(wù)登錄在所述延遲任務(wù)處理部分的隊(duì)列表中的延遲任務(wù)登錄處理部分;選擇被登錄到所述隊(duì)列表的延遲任務(wù)中最高優(yōu)先級(jí)的延遲任務(wù)的延遲任務(wù)優(yōu)先級(jí)控制部分;以及將通過所述延遲任務(wù)優(yōu)先級(jí)控制部分被選擇的延遲任務(wù)的優(yōu)先級(jí)設(shè)定為所述延遲任務(wù)處理部分的優(yōu)先級(jí)的進(jìn)程優(yōu)先級(jí)控制部分。
2.如權(quán)利要求1記載的進(jìn)程調(diào)度裝置,其特征在于,所述延遲任務(wù)包含在中斷處理程序中能延遲處理的任務(wù)。
3.如權(quán)利要求1記載的進(jìn)程調(diào)度裝置,其特征在于,所述進(jìn)程優(yōu)先級(jí)控制部分當(dāng)新的延遲任務(wù)產(chǎn)生的場(chǎng)合,在與執(zhí)行過程中的進(jìn)程連接的下一個(gè)進(jìn)程開始之前,執(zhí)行延遲任務(wù)處理部分的優(yōu)先級(jí)的設(shè)定。
4.如權(quán)利要求3記載的進(jìn)程調(diào)度裝置,其特征在于,所述進(jìn)程優(yōu)先級(jí)控制部分在新的延遲任務(wù)產(chǎn)生了的場(chǎng)合,中斷執(zhí)行過程中的進(jìn)程,在執(zhí)行了延遲任務(wù)處理部分的優(yōu)先級(jí)的設(shè)定后,再開始所述被中斷的進(jìn)程。
5.如權(quán)利要求3記載的進(jìn)程調(diào)度裝置,其特征在于,所述進(jìn)程優(yōu)先級(jí)控制部分在產(chǎn)生了所述新的延遲任務(wù)的場(chǎng)合,在所述執(zhí)行中的進(jìn)程結(jié)束后,在所述下一個(gè)進(jìn)程開始之前,進(jìn)行所述延遲任務(wù)處理部分的優(yōu)先級(jí)的設(shè)定。
6.如權(quán)利要求3記載的進(jìn)程調(diào)度裝置,其特征在于,在所述新的延遲任務(wù)產(chǎn)生了時(shí),執(zhí)行中的進(jìn)程包含被所述通常進(jìn)程處理部分處理的進(jìn)程和被所述延遲任務(wù)處理部分處理的延遲任務(wù)。
7.一種進(jìn)程調(diào)度方法,它并行地處理分別被付與優(yōu)先級(jí)的多個(gè)進(jìn)程,其特征在于,根據(jù)付與這些進(jìn)程的優(yōu)先級(jí)依次執(zhí)行處理延遲任務(wù)的延遲任務(wù)處理進(jìn)程和進(jìn)行所述延遲任務(wù)以外的處理的通常進(jìn)程,與被付與該延遲任務(wù)的優(yōu)先級(jí)同時(shí)將新產(chǎn)生的延遲任務(wù)登錄在隊(duì)列表中,選擇在所述隊(duì)列表中被記錄的延遲任務(wù)中優(yōu)先級(jí)是最高的延遲任務(wù),并將所述被選擇的延遲任務(wù)的優(yōu)先級(jí)設(shè)定為所述延遲任務(wù)處理進(jìn)程本身的優(yōu)先級(jí)。
8.如權(quán)利要求7記載的進(jìn)程調(diào)度方法,其特征在于,所述延遲任務(wù)包含中斷處理程序中能延遲處理的任務(wù)。
9.如權(quán)利要求7記載的進(jìn)程調(diào)度方法,其特征在于,在接著執(zhí)行中的進(jìn)程的下一個(gè)進(jìn)程被開始之前執(zhí)行所述新的任務(wù)產(chǎn)生時(shí)的所述延遲任務(wù)處理進(jìn)程的優(yōu)先級(jí)的設(shè)定。
10.如權(quán)利要求9記載的進(jìn)程調(diào)度方法,其特征在于,在所述新的任務(wù)產(chǎn)生時(shí)的所述延遲任務(wù)處理進(jìn)程的優(yōu)先級(jí)的設(shè)定在所述新的延遲任務(wù)產(chǎn)生時(shí)中斷正在執(zhí)行中的進(jìn)程,設(shè)定所述延遲任務(wù)處理進(jìn)程的優(yōu)先級(jí),而且重新開始所述被中斷的進(jìn)程。
11.如權(quán)利要求9記載的進(jìn)程調(diào)度方法,其特征在于,所述新的任務(wù)產(chǎn)生時(shí)的所述延遲任務(wù)處理進(jìn)程的優(yōu)先級(jí)的設(shè)定,在所述執(zhí)行中的進(jìn)程結(jié)束后,在所述下一個(gè)進(jìn)程開始之前被執(zhí)行。
12.如權(quán)利要求9記載的進(jìn)程調(diào)度方法,其特征在于,在所述新的任務(wù)產(chǎn)生時(shí),正在執(zhí)行中的進(jìn)程包含所述通常進(jìn)程和所述延遲任務(wù)。
13.一種程序,它用于并行處理分別付與優(yōu)先級(jí)的多個(gè)進(jìn)程,其特征在于,它具備根據(jù)付與這些進(jìn)程的優(yōu)先級(jí)依次執(zhí)行處理延遲任務(wù)的延遲任務(wù)處理進(jìn)程和進(jìn)行所述延遲任務(wù)以外的處理的通常進(jìn)程的工序;與付與該延遲任務(wù)的優(yōu)先級(jí)的同時(shí)將新產(chǎn)生的延遲任務(wù)登錄到隊(duì)列表的工序;選擇被記錄到所述隊(duì)列表的延遲任務(wù)中優(yōu)先級(jí)是最高的延遲任務(wù)的工序;以及將所述被選擇的延遲任務(wù)的優(yōu)先級(jí)設(shè)定為所述延遲任務(wù)處理進(jìn)程本身的優(yōu)先級(jí)的工序。
14.一種記錄媒體,它是記錄了用于并行處理分別付與優(yōu)先級(jí)的多個(gè)進(jìn)程的程序的、計(jì)算機(jī)能讀取的記錄媒體,所述的程序具備根據(jù)付與這些進(jìn)程的優(yōu)先級(jí)依次執(zhí)行處理延遲任務(wù)的延遲任務(wù)處理進(jìn)程和進(jìn)行所述延遲任務(wù)以外的處理的通常進(jìn)程的工序;與付與該延遲任務(wù)的優(yōu)先級(jí)的同時(shí)將新產(chǎn)生的延遲任務(wù)登錄到隊(duì)列表的工序;選擇被記錄到所述隊(duì)列表的延遲任務(wù)中優(yōu)先級(jí)是最高的延遲任務(wù)的工序;以及將所述被選擇的延遲任務(wù)的優(yōu)先級(jí)設(shè)定為所述延遲任務(wù)處理進(jìn)程本身的優(yōu)先級(jí)的工序。
全文摘要
進(jìn)程調(diào)度裝置具備只處理付與可變的優(yōu)先級(jí)的延遲任務(wù)的延遲任務(wù)處理進(jìn)程和執(zhí)行付與固定的優(yōu)先級(jí)的延遲任務(wù)以外的處理的多個(gè)進(jìn)程。進(jìn)程調(diào)度部分根據(jù)優(yōu)先級(jí)依次執(zhí)行延遲任務(wù)處理進(jìn)程和進(jìn)程。延遲任務(wù)登錄處理部分與優(yōu)先級(jí)同時(shí)將新產(chǎn)生的延遲任務(wù)登錄到隊(duì)列表中。延遲任務(wù)優(yōu)先級(jí)控制部分選擇在隊(duì)列表21內(nèi)優(yōu)先級(jí)最高的延遲任務(wù)。進(jìn)程優(yōu)先級(jí)控制部分將所選擇的延遲任務(wù)的優(yōu)先級(jí)設(shè)定為延遲任務(wù)處理進(jìn)程的優(yōu)先級(jí)。
文檔編號(hào)G06F9/48GK1517867SQ20041000128
公開日2004年8月4日 申請(qǐng)日期2004年1月6日 優(yōu)先權(quán)日2003年1月7日
發(fā)明者天野克重, 山本哲士, 大和田清志, 町田浩之, 筱原孝夫, 之, 士, 夫, 清志 申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社, 索尼公司