新四季網

進程調度裝置、進程調度方法、程序以及記錄媒體的製作方法

2023-06-08 12:14:26 3

專利名稱:進程調度裝置、進程調度方法、程序以及記錄媒體的製作方法
技術領域:
本發明涉及在多進程環境下能有效且適當地進行調度的進程調度裝置、進程調度方法、用於進程調度的程序、以及記錄了用於進程調度的程序的記錄媒體。
背景技術:
當前,計算機不限於在大型計算機和個人計算機那樣形態中的利用,而且在各種家用電器、可攜式電話等領域中的利用也正在取得進展。
作為計算機中的有效處理方法,多進程處理已為人們所熟知。在該多進程處理中,將程序分成進程、線程、或被叫做任務的多個執行單位(在本說明書中叫做「進程」),通過基於付與它們的優先級的調度將各實單位進行並列處理。但是,即使是多進程處理,全部的執行單位並不是一律作為進程被執行,以與進程不同的形式被執行的執行單位也不少。例如,用於處理中斷請求的執行單位群(中斷處理程序)就是以與進程不同的形態被處理。另外,在中斷處理程序中,沒有必要即時處理的部分,往往在適當的定時中以與進程不同的形態延遲並被處理。
為了判斷使以在所述中斷處理程序中沒有必要即時處理的部分那樣的進程以外的形態被執行的任務(在本說明書中叫做「延遲任務」)和進程的哪一個優先並處理,人們考慮到在延遲任務中也給與優先級,並與進程相同進行調度。在附加了優先級後將與此相關發生的事件進行排隊,按照優先級高的順序起動與事件對應的進程,這樣的進程調度的方法在專利文獻1中被記載。人們考慮到通過使該專利文獻1的方法發展,將事件設定為延遲任務的發生,將被起動的進程作為與延遲任務對應的實際處理進行處理,調度進程和延遲任務。
但是,專利文獻1中記載的方法不是將多進程環境設定為前提,不能有效且適當地調度進程和延遲任務。即,在使專利文獻1記載的方法適用與多進程環境的場合,有必要使一個進程與每個事件對應。若多進程地處理與已發生的全部事件對應的進程,那麼,有必要起動大量的進程,並在短期間內重複進程的生成和消滅。在短期間內重複大量進程的生成、消滅對於計算機裝置負擔大。另外,通常,若增加正在起動的進程個數,那麼調度需要長時間,用於管理的存儲器消費也將增加。

發明內容
本發明的第1形態提供這樣的進程調度裝置,該裝置並行處理分別付與優先級的多個進程,它具備處理所述多個進程中的延遲任務,具備所述延遲任務被登錄的隊列表,而且設置了可變的優先級的至少一個延遲任務處理部分;是分別處理所述多個進程中所述延遲任務以外的一個進程的多個通常進程處理部分,而且各通常進程處理部分的優先級應被設定與所述處理的進程的優先級相等的通常進程處理部分;根據被設定在它們中的優先級依次起動所述延遲任務處理部分和通常進程處理部分,並處理對應的所述進程的進程調度部分;與其自身的優先級一起將新產生的延遲任務登錄在所述延遲任務處理部分的隊列表中的延遲任務登錄處理部分;選擇被登錄到所述隊列表的延遲任務中最高優先級的延遲任務的延遲任務優先級控制部分;以及將通過所述延遲任務優先級控制部分被選擇的延遲任務的優先級設定為所述延遲任務處理部分的優先級的進程優先級控制部分。
所謂所述延遲任務是在多進程環境中以通常的進程以外的形態被執行的任務。例如,所述延遲任務包含被包含在中斷處理程序中的任務中間能延遲處理的任務。另外,延遲任務包含是來自進程的請求而不要求即時處理的能延遲的任務。
在本發明的進程調度裝置中,處理延遲進程的延遲任務處理部分的優先級被設定為被存儲在它自身具備的隊列表中的延遲任務的優先級中優先級最高的優先級。因此,按照這些優先級能夠有效且適當地調度延遲任務和延遲任務以外的進程。
為防止作為優先級高的進程比優先級低的進程更後被處理的現象的優先級的倒轉,希望進程優先級控制部分當新的延遲任務產生時,在與執行過程中的進程連接的下一個進程開始之前,進行延遲任務處理進程部分的優先級的設定。具體地說,進程優先級控制部分在新的延遲任務產生了的場合,將中斷執行過程中的進程,在執行了延遲任務處理部分的優先級的設定後,再開始所述被中斷的進程。或者,進程優先級控制部分在產生了新的延遲任務的場合,在執行中的進程結束後,在下一個進程開始之前,進行所述延遲任務處理部分的優先級的設定。在這些進程中,包含被所述通常進程處理部分處理的進程和被所述延遲任務處理部分處理的延遲任務。
本發明的第2形態提供這樣的進程調度方法,該方法並行地處理分別被付與優先級的多個進程,根據付與這些進程的優先級依次執行處理延遲任務的延遲任務處理進程和進行所述延遲任務以外的處理的通常進程,與被付與該延遲任務的優先級同時將新產生的延遲任務登錄在隊列表中,選擇在所述隊列表中被記錄的延遲任務中優先級是最高的延遲任務,並將所述被選擇的延遲任務的優先級設定為所述延遲任務處理進程本身的優先級。
本發明的第3形態提供這樣的程序,該程序用於在計算機中並行處理分別付與優先級的多個進程,它具備根據付與這些進程的優先級依次執行處理延遲任務的延遲任務處理進程和進行所述延遲任務以外的處理的通常進程的工序;與付與該延遲任務的優先級的同時將新產生的延遲任務登錄到隊列表的工序;選擇被記錄到所述隊列表的延遲任務中優先級是最高的延遲任務的工序;以及將所述被選擇的延遲任務的優先級設定為所述延遲任務處理進程本身的優先級的工序。
本發明的第4形態提供記錄了所述程序的、計算機能讀取的記錄媒體。
在本發明中,處理延遲任務的延遲任務處理進程的優先級被設定為被存儲到它本身具備的隊列表的延遲任務的優先級中優先級最高的優先級。因此,按照這些優先級能夠有效且適當地調度延遲任務和延遲任務以外的通常的進程。
另外,通過在新的任務產生時在與執行中的進程相連的下一個進程開始之前進行延遲任務處理進程的優先級的設定,能夠防止優先級的倒轉現象。


本發明的其它目的和特徵通過涉及參照附圖的合適的實施形態的以下的說明將變得明確。
圖1是構成涉及本發明的實施形態的進程調度裝置的計算機裝置的概略構成圖;圖2是用於說明進程調度部分12的動作的流程圖;圖3是用於說明中斷請求的處理的流程圖;圖4是用於說明延遲任務處理進程的流程圖;圖5A和5B是表示涉及本發明的實施形態的進程調度的一例的時間圖;圖6A和6B是表示涉及本發明的實施形態的進程調度的其它一例的時間圖;圖7是用於說明延遲任務處理進程的其它一例的流程圖;圖8是用於說明延遲任務處理進程的又一個其它一例的流程圖;圖9A和9B是用於說明本發明的進程調度的其它一例的時間圖。
具體實施例方式
圖1表示作為本發明的進程調度裝置的計算機。計算機至少具備中央運算處理裝置(CPU)1和存儲器裝置2。另外,計算機可以具備未圖示的輸入裝置、輸出裝置那樣的其它設備。
CPU1,如果處理性能足夠,那麼能夠使用任意類型的CPU。
在存儲器裝置2中,存儲了包含計算機的作業系統(OS)10、一個延遲任務處理進程#1、以及其它的多個進程#1、#2…#N(N是自然數)的程序和數據。存儲器裝置2,如果有充分的功能和容量,那麼能夠使用隨機存取存儲器(RAM)、快速存儲器那樣的任意類型的存儲器。另外,存儲器裝置2沒有必要用單一的存儲器裝置構成,可以是同一種類的多個存儲器裝置或包含只讀存儲器(ROM)的不同種類的存儲器裝置的組合。此外,在存儲器裝置2以外可以設置硬碟驅動器那樣的外部存儲裝置,在對計算機的動作沒有問題的範圍內可以使程序和數據向外部存儲裝置轉移。
延遲任務處理進程#1是只處理延遲任務的專用進程,若從功能上看,構成延遲任務處理部分。其它的進程#2、#3…#N是用於執行延遲任務以外的進程的通常的進程,若從功能上看,構成通常進程處理部分。在延遲任務處理進程#1以及其它的進程#2、#3…#N中分別付與優先級。在本實施形態中,用象0、1、2、3…R…那樣的0和自然數表示進程的優先級。表示該數字的值越小,優先級越高。但是,優先級的表現不受此限定,能決定進程之間的優先級就行。付與延遲任務處理進程#1的優先級是可變的,如後面詳述的那樣,按照處理的延遲任務被變更。另一方面,付與其它的進程#2、#3…#N的優先級是固定的,沒有變更。在圖1中,作為例子,將延遲任務處理進程#1以外的進程中間的進程#2的優先級設定為3,將進程#3的優先級設定為1。
延遲任務處理進程#1具備隊列表21。每當重新產生延遲任務時,表示該延遲任務的標識符與優先級同時被登錄在該隊列表21中。在本實施形態中,作為延遲任務的標識符使用了象A、B、C…那樣的字母。但是,延遲任務的標識符不受此限定,如能識別各個延遲任務就可以。另外,在本實施形態中,與所述延遲任務處理進程#1和其它的進程#2、#3…#N的優先級相同,用象0、1、2、3…那樣的0和自然數表示延遲任務的優先級,表示值越小優先級越高。延遲任務處理進程#1按照它的優先級的順序執行被登錄在隊列表21中的延遲任務。另外,延遲任務處理進程#1本身的優先級被設定為被登錄在隊列表21中的延遲任務的優先級中間優先級最高的優先級。在圖1中,作為例子,在隊列表21中登錄了優先級4的延遲任務B、優先級5的延遲任務C。另外,執行過程中的任務是優先級最高的延遲任務A(優先級2)。執行中的延遲任務直到結束處理以前沒有從隊列表21中刪除,但為了明確在圖1中是執行中的延遲任務,使執行中的延遲任務A與隊列表21中的其它延遲任務B、C分離並進行圖示。此外,在圖1中,延遲任務處理進程#1本身的優先級被設定為優先級最高的延遲任務A的優先級(優先級2)。
OS10為了與CPU協同動作實現本調度方法,具備中斷處理程序處理部分11、進程調度部分12、延遲任務登錄處理部分13、延遲任務優先級控制部分14以及進程優先級控制部分15。若說明關於這些功能,那麼,中斷處理程序處理部分11處理通過中斷請求產生的中斷處理程序。接著,進程調度部分12根據付與這些進程的優先級順次執行延遲任務處理進程#1以及其它進程#2、#3…#N中間正在起動中的進程,從而按時間分割地並行處理多個進程。另外,延遲任務登錄處理部分13與給該延遲任務付與了優先級的同時將新產生的延遲任務的標識符登錄在延遲任務處理進程#1的排隊調度表21中。此外,延遲任務優先級控制部分14選擇被登錄在排隊調度表21中的延遲任務中間優先級最高的延遲任務。延遲任務優先級控制部分14可以按照它們的優先級高的順序重新排列被登錄在隊列表21中的延遲任務。此外,進程優先級控制部分15將被延遲任務優先級控制部分14選擇的延遲任務的優先級設定為延遲任務處理進程#1本身的優先級。
接著,參照從圖2到圖3的流程圖說明本實施形態的多進程調度裝置的動作。在這些流程圖中被實現的功能能夠作為一個程序實現。另外,可以將這樣的程序記錄在計算機能讀取的記錄媒體中。
在圖2的步驟S2-1中,進程調度部分12根據優先級選擇下次被執行的進程。詳細地說,進程調度部分12比較延遲任務處理進程#1以及其它的進程#2、#3…#N中間正在起動中的進程的優先級,從優先級高的進程按照順序執行。在步驟S2-2中,執行在步驟S2-2中所選擇的延遲任務處理進程#1或其它的進程#2、#3…#N的任何一個。若一個進程的執行結束,那麼在步驟S2-1中進程調度部分12再一次選擇下次被執行的進程。
圖3表示在進程#2、#3…#N的執行中已經有中斷請求的場合的處理。若有中斷請求,那麼在步驟S3-1中,中斷處理程序處理部分11將執行中斷處理程序中間需要即時處理的任務(即時處理任務)。接著,在步驟S3-2中,中斷處理程序處理部分11判斷在中斷處理程序中是否包含延遲任務。在沒有包含延遲任務的場合,在步驟S3-6中,返回到執行中的進程。另一方面,在包含了延遲任務的場合,在步驟S3-3中,延遲任務登錄處理部分13將延遲任務的標識符和優先級登錄在延遲任務處理進程#1的隊列表21中。接著,在步驟S3-4中,延遲任務優先級控制部分14選擇被登錄在隊列表21中的延遲任務中間優先級是最高的延遲任務。接著,在S3-5中,進程優先級控制部分15將延遲任務處理進程#1的優先級設定為被延遲任務優先級控制部分14選擇的最高優先級的延遲任務的優先級。在延遲處理進程#1的優先級被設定後,在步驟S3-6中返回到執行中的進程。
圖4表示延遲任務處理進程(圖2的步驟S2-2)的內容。首先,在步驟S4-1中,開始處理被登錄在隊列表21中的延遲任務中間具有最高優先級的延遲任務。接著,步驟S4-2中,判斷是否產生新的延遲任務,即產生新的中斷請求,而且判斷該新的被請求的中斷處理是否包含延遲任務。若在步驟S4-2中沒有產生新的延遲任務,那麼在步驟S4-3中,直到當前處理中的延遲任務結束以前,處理被繼續。接著,在步驟S4-4中,延遲任務登錄處理部分13將從隊列表21中刪除處理結束的延遲任務。另外,在步驟S4-5中,延遲任務處理進程#1的優先級被設定為在隊列表21中最高優先級的延遲任務的優先級。具體地說,延遲任務優先級控制部分14選擇被登錄在隊列表21中的延遲任務中間優先級是最高的延遲任務,並將進程優先級控制部分15所選擇的延遲任務的優先級設定為延遲任務處理進程#1的優先級。
另一方面,在步驟S4-2中,在新產生了延遲任務的場合,首先在步驟S4-6中延遲任務登錄處理部分13與其優先級同時將新產生的延遲任務的標識符登錄到隊列表21中。接著,在步驟S4-7中,延遲任務優先級控制部分14判斷新產生的延遲(任務)的優先級是否比隊列表21中以及當前正在處理中的延遲任務的優先級高。在步驟S4-7中,在新的延遲任務的優先級不比隊列表21中以及當前正在處理中的延遲任務高的場合,返回到在步驟S4-2。另一方面,在步驟S4-7中,在新的延遲任務的優先級比隊列表21內以及當前正在處理中的任務高的場合,在步驟S4-8中進程優先級控制部分15將延遲任務處理進程#1的優先級變更成新產生的延遲任務的優先級。
接著,參照圖5A、5B、6A、以及6B,說明被實施形態的多進程調度被簡化的例子。在這些從圖5A到圖6B中,粗實線表示該進程是確保CPU1並被執行的狀態。另外,空白的粗線表示OS10的處理由CPU1執行。圖5A以及圖5B表示當在延遲任務處理進程#1以外的進程#2、#3…#N的執行中已有中斷請求的場合的一例,圖6A以及圖6B表示當在延遲任務處理進程#1的執行中已有中斷請求的場合的一例。
若參照圖5A以及圖5B,那麼在時刻t0的時間,優先級4的延遲任務B和優先級5的延遲任務C被登錄在延遲任務處理進程#1的隊列表21中,延遲任務處理進程#1的優先級被設定為4。另外,優先級3的進程#2和優先級1的進程#3已起動。
在使進程#3正在執行中的時刻t1產生中斷請求,並通過中斷處理程序處理部分11執行中斷處理程序100(從時刻t1到時刻t2步驟S3-1~S3-6)。在中斷處理程序100中用100a表示的部分是即時執行任務(步驟S3-1)。在中斷處理程序中間用100b表示的部分中,延遲任務登錄控制部分13將新產生的延遲任務A(優先級2)登錄在隊列表21中(步驟S3-3)。另外,新產生的延遲任務A的優先級由於比已經被登錄的延遲任務B、C的優先級高,因此通過延遲任務優先級控制部分14以及進程優先級控制部分15將延遲任務處理進程#1的優先級設定為是延遲任務A的優先級的2(步驟S3-4、步驟S3-5)。在中斷處理程序結束後,進程#3的處理被重新開始(從時刻t2到時刻t3步驟S3-6)。
若進程#3的處理全部結束,那麼進程調度部分12就選擇下次執行的進程(從時刻t3到時刻t4步驟S2-1、2-2)。比較延遲處理任務處理進程#1的優先級(優先級為2)和進程#2的優先級(優先級為3),並選擇優先級高的延遲任務處理進程#1。
延遲任務處理進程#1執行在隊列表21內優先級最高的延遲任務A的處理(從時刻t4到時刻t5步驟S4-1)。若沒有產生新的延遲任務(步驟S4-2),並在時刻t5結束延遲任務A的處理(步驟S4-3),那麼延遲任務處理進程#1將處理結束通知OS10。接收了該通知的OS10的延遲任務登錄處理部分13將處理結束的延遲任務A從隊列表21中刪除(步驟S4-4)。另外,繼該步驟之後通過延遲任務優先級控制部分14以及進程優先級控制部分15,將延遲處理任務處理進程#1的優先級設定為在隊列表21內優先級最高的延遲任務B的優先級(優先級為4)(從時刻t5到時刻t6步驟S4-5)。
象以上那樣,若結束延遲任務處理進程#1的一個延遲任務的處理和伴隨它的延遲任務處理進程#1的優先級的變更,那麼進程調度部分12將選擇下次執行的進程(從時刻t6到時刻t7)。比較延遲任務處理進程#1的優先級(優先級為4)和進程#2的優先級(優先級為3),並選擇優先級高的進程#2。
在進程#2被執行後(從時刻t7到時刻t8),進程調度部分12選擇下次執行的進程(從時刻t8到時刻t9),並選擇因由於優先級最低未處理而剩下的延遲任務處理進程#1。這時,在延遲任務處理進程#1中,執行在隊列表21內優先級最高的延遲任務B(優先級為4)。
象以上那樣,優先級2的延遲任務A的處理被執行(從時刻t4到時刻t5),接著優先級3的進程#2被執行(從時刻t7到時刻t8),之後,優先級4的延遲任務B被執行。因此,在本實施形態的多進程調度中,延遲任務和進程按照優先級有效且適當地被調度。
接著,若參照圖6A以及圖6B,在時刻t0的時間,優先級2的延遲任務A、優先級的延遲任務B、以及優先級5的延遲任務C被登錄到延遲任務處理進程#1的隊列表21,而且使優先級最高的延遲任務A正在執行中。另外,時刻t0的時間的延遲任務處理進程#1被設定為與延遲任務A相同的優先級2。
在使延遲任務處理進程#1正在執行中的時刻t11產生中斷請求,並執行中斷處理程序100(從時刻t11到時刻t12步驟S3-1~S3-6)。在完成即時執行任務的處理後(部分100a步驟S3-1),延遲任務登錄處理部分13向隊列表21登錄新產生的延遲任務D(S3-2、S3-3、S4-6),同時,延遲任務優先級控制部分14以及進程優先級控制部分15將延遲進程處理進程#1的優先級設定為是延遲任務D的優先級的0(步驟S3-4、S3-5、S4-7、S4-8)。在中斷處理程序結束後,在延遲任務處理進程#1中的延遲任務A的處理被重新開始(從時刻t12到時刻t13步驟S3-6)。
若在時刻t13結束延遲任務A的處理,那麼延遲任務登錄處理部分13從隊列表21中刪除處理結束的延遲任務A(從時刻t13到時刻t14)。但是,由於延遲任務處理進程#1的優先級已經被設定為優先級0,因此沒有被變更(步驟S4-2~S4-5)。
接著,進程調度部分12選擇下次執行的進程(從時刻t14到時刻t15步驟S2-1、S2-2)。比較延遲處理任務處理進程#1的優先級(優先級為0)和進程32、#3的優先級(優先級為3、1),選擇優先級最高的延遲任務處理進程#1。延遲任務處理進程#1執行在隊列表21內優先級最高的延遲任務D的處理(步驟S4-1)。若沒有產生新的延遲任務,並在時刻t16結束延遲任務D的處理,那麼延遲任務登錄處理部分13就從隊列表21中刪除處理已結束的延遲任務D,並將延遲處理任務處理進程#1的優先級設定為在隊列表21內優先級最高的延遲任務B的優先級(優先級為4)(從時刻t16到時刻t17步驟S4-2~S4-5)。
接著,進程調度部分12選擇下次執行的進程,並選擇進程#2、#3(優先級為3、1)中優先級高的進程#3。在進程#3執行後(從時刻t18到時刻t19),作為下次的進程選擇在未處理中剩餘的進程#2。
即使在該圖6A以及圖6B的例子中,優先級0的延遲任務D的處理也被執行(從時刻t15到時刻t16),接著執行優先級1的進程#3(從時刻t16到時刻t18),之後,執行優先級3的進程#2,延遲任務和進程按照優先級有效且適當地被調度。
在本實施形態的多進程調度中,由於只是一個延遲任務處理進程#1執行延遲任務的處理,因此沒有必要為了處理延遲任務而在短期間重複進程的生成和消滅,在調度所需要的時間和存儲器的消費方面不會成為大的負擔。
在進程和延遲任務的調度中,有必要防止優先級高的進程比優先級低的進程更後被處理的現象(優先級倒轉)發生。在本實施形態中,為防止優先級的倒轉現象的發生,若通過延遲任務登錄處理部分13將新的延遲任務登錄到隊列表21,那麼用實質上與該登錄相同的定時進行進程優先級設定部分15的延遲任務處理進程#1的優先級的變更。具體地說,若通過中斷請求產生新的延遲任務,那麼直到在中斷的時刻正在執行中的進程或延遲任務的執行結束之前,或在中斷的時刻執行中的進程或延遲任務結束後,並在下一個進程或延遲任務開始之前,進行延遲任務處理進程#1的優先級的變更(參照從圖3的步驟S3-3到S3-5、圖4的步驟S4-5、S4-8,從圖5A的時刻t1到t2,以及從圖6A的時刻t11到t12)。換言之,在本實施形態中,在產生了新的延遲任務時,在接著執行中的進程(通常的進程或延遲任務)的下一個進程(通常的進程或延遲任務)被開始之前,進行延遲任務處理進程#1本身的優先級的設定。
圖7表示延遲任務處理進程的其它的例子。在該例子中,在由延遲任務的處理中產生了優先級高的延遲任務的場合,將即時中斷處理中的延遲任務,並進行新產生的優先級高的延遲任務的處理。但是,由於也有時候處理中的延遲任務不能中斷,因此在該場合繼續進行該延遲任務的處理。例如,在處理中的延遲任務是數據的重寫,若中斷將產生數據不整合的場合,將不能中斷處理中的延遲任務。從圖7的步驟S7-1到S7-8,與從圖4的步驟S4-1到S4-8相同。在步驟S7-7中當產生的延遲任務比在隊列表21內以及當前正在處理中的延遲任務的優先級高的場合,在步驟S7-8中將延遲任務處理進程的優先級設定為新產生的延遲任務的優先級。接著,在步驟S7-9,若當前正在處理中的延遲任務能中斷,那麼就返回到S7-1,並開始在隊列表21內優先級最高的延遲任務的處理。由於在S7-6中被登錄的新產生的延遲任務在隊列表21內具有最高的優先級,因此在步驟S7-1中正在處理中的延遲任務被中斷,並開始新產生的延遲任務的處理。另一方面,在步驟S7-9中當正在處理中的延遲任務不能中斷的場合,將返回到步驟S7-2,繼續進行延遲任務的處理。
圖8表示延遲任務執行處理的又一個其它例子。在該例中,當在延遲任務的處理中重新產生了延遲任務的場合,只進行向隊列表21的登錄,延遲任務處理進程的優先級的變更在處理中的延遲任務結束後進行。在圖8中從步驟S8-1到步驟S8-5與從圖4的步驟S4-1到步驟S4-5相同。在步驟S8-2中若重新產生延遲任務,那麼在步驟S8-6中向隊列表21登錄該新產生的延遲任務。之後,返回到步驟S8-2,繼續進行延遲任務的處理。
在所述實施形態中,OS10全部進行向隊列表21的延遲任務的登錄和刪除,以及延遲任務處理進程的優先級的(處理)。但是,延遲任務處理進程#1本身可以進行一部分的處理。圖9表示延遲任務處理進程#1本身進行結束了的延遲任務的刪除和延遲任務處理進程#1的變更的例子。在圖9中,從時刻t0到時刻t5以及從時刻t6到時刻b9的處理與圖5A和圖5B相同。若在時刻t5結束延遲任務A的處理,那麼延遲任務處理進程#1就從隊列表21中刪除延遲任務A。另外,延遲任務處理進程#1將它本身的優先級變更成是在隊列表21內具有最高的優先級的延遲任務B的優先級4。
本發明不受所述實施形態的限定,可以有各種變形。例如,若是比較少的數可以設置2個以上的延遲任務處理進程,並同時將它們起動。
另外,延遲任務如所述實施形態那樣不受中斷處理程序的被延遲處理的部分的限定,可以是以與進程不同的形態被處理的任意的處理。例如,接收了來自進程的請求的OS在將對於該請求的處理的一部分設定為延遲任務的場合,也能夠應用本發明。具體地說,有時候進程對於OS經由網絡請求數據發送,OS判斷沒有必要即時處理該數據發送而作為延遲任務進行處理。在該場合,在從圖5A到圖6B中,從進程到OS10形成數據發送的請求,代替中斷處理發生。
本發明由於涉及計算機的調度,因此能夠在使用計算機的任何領域應用。例如,在各種家用電器、可攜式電話等通信設備,或者工業機器等中能夠應用本發明。
參照附圖已完全說明了本發明,但對於該同業者來說,能進行各種變更和變形。因此,這樣的變更和變形只要不脫離本發明的意圖和範圍,必須被解釋為被包含在本發明中。
權利要求
1.一種進程調度裝置,它並行處理分別付與優先級的多個進程,其特徵在於,它具備處理所述多個進程中的延遲任務,具備所述延遲任務被登錄的隊列表,而且設置了可變的優先級的至少一個延遲任務處理部分;是分別處理所述多個進程中所述延遲任務以外的一個進程的多個通常進程處理部分,而且各通常進程處理部分的優先級應被設定與所述處理的進程的優先級相等的通常進程處理部分;根據被設定在它們中的優先級依次起動所述延遲任務處理部分和通常進程處理部分,並處理對應的所述進程的進程調度部分;與其自身的優先級同時將新產生的延遲任務登錄在所述延遲任務處理部分的隊列表中的延遲任務登錄處理部分;選擇被登錄到所述隊列表的延遲任務中最高優先級的延遲任務的延遲任務優先級控制部分;以及將通過所述延遲任務優先級控制部分被選擇的延遲任務的優先級設定為所述延遲任務處理部分的優先級的進程優先級控制部分。
2.如權利要求1記載的進程調度裝置,其特徵在於,所述延遲任務包含在中斷處理程序中能延遲處理的任務。
3.如權利要求1記載的進程調度裝置,其特徵在於,所述進程優先級控制部分當新的延遲任務產生的場合,在與執行過程中的進程連接的下一個進程開始之前,執行延遲任務處理部分的優先級的設定。
4.如權利要求3記載的進程調度裝置,其特徵在於,所述進程優先級控制部分在新的延遲任務產生了的場合,中斷執行過程中的進程,在執行了延遲任務處理部分的優先級的設定後,再開始所述被中斷的進程。
5.如權利要求3記載的進程調度裝置,其特徵在於,所述進程優先級控制部分在產生了所述新的延遲任務的場合,在所述執行中的進程結束後,在所述下一個進程開始之前,進行所述延遲任務處理部分的優先級的設定。
6.如權利要求3記載的進程調度裝置,其特徵在於,在所述新的延遲任務產生了時,執行中的進程包含被所述通常進程處理部分處理的進程和被所述延遲任務處理部分處理的延遲任務。
7.一種進程調度方法,它並行地處理分別被付與優先級的多個進程,其特徵在於,根據付與這些進程的優先級依次執行處理延遲任務的延遲任務處理進程和進行所述延遲任務以外的處理的通常進程,與被付與該延遲任務的優先級同時將新產生的延遲任務登錄在隊列表中,選擇在所述隊列表中被記錄的延遲任務中優先級是最高的延遲任務,並將所述被選擇的延遲任務的優先級設定為所述延遲任務處理進程本身的優先級。
8.如權利要求7記載的進程調度方法,其特徵在於,所述延遲任務包含中斷處理程序中能延遲處理的任務。
9.如權利要求7記載的進程調度方法,其特徵在於,在接著執行中的進程的下一個進程被開始之前執行所述新的任務產生時的所述延遲任務處理進程的優先級的設定。
10.如權利要求9記載的進程調度方法,其特徵在於,在所述新的任務產生時的所述延遲任務處理進程的優先級的設定在所述新的延遲任務產生時中斷正在執行中的進程,設定所述延遲任務處理進程的優先級,而且重新開始所述被中斷的進程。
11.如權利要求9記載的進程調度方法,其特徵在於,所述新的任務產生時的所述延遲任務處理進程的優先級的設定,在所述執行中的進程結束後,在所述下一個進程開始之前被執行。
12.如權利要求9記載的進程調度方法,其特徵在於,在所述新的任務產生時,正在執行中的進程包含所述通常進程和所述延遲任務。
13.一種程序,它用於並行處理分別付與優先級的多個進程,其特徵在於,它具備根據付與這些進程的優先級依次執行處理延遲任務的延遲任務處理進程和進行所述延遲任務以外的處理的通常進程的工序;與付與該延遲任務的優先級的同時將新產生的延遲任務登錄到隊列表的工序;選擇被記錄到所述隊列表的延遲任務中優先級是最高的延遲任務的工序;以及將所述被選擇的延遲任務的優先級設定為所述延遲任務處理進程本身的優先級的工序。
14.一種記錄媒體,它是記錄了用於並行處理分別付與優先級的多個進程的程序的、計算機能讀取的記錄媒體,所述的程序具備根據付與這些進程的優先級依次執行處理延遲任務的延遲任務處理進程和進行所述延遲任務以外的處理的通常進程的工序;與付與該延遲任務的優先級的同時將新產生的延遲任務登錄到隊列表的工序;選擇被記錄到所述隊列表的延遲任務中優先級是最高的延遲任務的工序;以及將所述被選擇的延遲任務的優先級設定為所述延遲任務處理進程本身的優先級的工序。
全文摘要
進程調度裝置具備只處理付與可變的優先級的延遲任務的延遲任務處理進程和執行付與固定的優先級的延遲任務以外的處理的多個進程。進程調度部分根據優先級依次執行延遲任務處理進程和進程。延遲任務登錄處理部分與優先級同時將新產生的延遲任務登錄到隊列表中。延遲任務優先級控制部分選擇在隊列表21內優先級最高的延遲任務。進程優先級控制部分將所選擇的延遲任務的優先級設定為延遲任務處理進程的優先級。
文檔編號G06F9/48GK1517867SQ20041000128
公開日2004年8月4日 申請日期2004年1月6日 優先權日2003年1月7日
發明者天野克重, 山本哲士, 大和田清志, 町田浩之, 筱原孝夫, 之, 士, 夫, 清志 申請人:松下電器產業株式會社, 索尼公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀