JP2001142723A - 資源配分方法、計算機システム及び記録媒体 - Google Patents

資源配分方法、計算機システム及び記録媒体

Info

Publication number
JP2001142723A
JP2001142723A JP32147599A JP32147599A JP2001142723A JP 2001142723 A JP2001142723 A JP 2001142723A JP 32147599 A JP32147599 A JP 32147599A JP 32147599 A JP32147599 A JP 32147599A JP 2001142723 A JP2001142723 A JP 2001142723A
Authority
JP
Japan
Prior art keywords
task
priority
waiting
resource
cycles
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP32147599A
Other languages
English (en)
Inventor
Makoto Tomita
真 冨田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP32147599A priority Critical patent/JP2001142723A/ja
Publication of JP2001142723A publication Critical patent/JP2001142723A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】優先度の低いタスクにも相応の頻度で資源を割
り当てることのできる資源配分方法を提供すること。 【解決手段】タスク管理部21は、各タスク221〜2
2nのCPUプライオリティに対して資源23を割り当
てる頻度の高さを設定した加重度に基づいて、その資源
の割当待ち状態にあるタスク221〜22nが属するC
PUプライオリティの待ちサイクル数を設定し、資源2
3を割り当てる事象が発生する毎に各CPUプライオリ
ティの待ちサイクル数を減算処理し、当該処理後の待ち
サイクル数がゼロになったCPUプライオリティのタス
クに資源23を割り当てる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のタスクを実
行する計算機システムにおいて、各タスクにCPUなど
の逐次再使用可能資源を配分する資源配分方法、計算機
システム及び記録媒体に関するものである。
【0002】近年、計算機システムにおいて、複数のタ
スクを実行するにあたって、それらのタスクに資源を配
分する必要がある。その配分には、主に各タスクの優先
度が用いられてきている。しかし、計算機システムにお
いて実行されるタスクの数が多くなると、優先度の低い
タスクに資源が割り当てられなくなる場合が発生する。
このため、優先度の低いタスクにもそれに応じた頻度で
資源を割り当てることが求められている。
【0003】
【従来の技術】従来、複数のタスクを実行する計算機シ
ステムにおいて、各タスクにCPU等の資源を割り当て
るにあたっては、各タスクにその重要度に応じてプライ
オリティを設定する。そして、例えばCPU割当待ちの
タスクのうちで最も高いCPUプライオリティが設定さ
れたタスクの中からCPU割当待ち時間の長いものにC
PU時間を割り当てるようにしていた。
【0004】
【発明が解決しようとする課題】しかし、この方法で
は、CPUプライオリティの高いタスクのCPU使用要
求が多いと、CPUプライオリティの低いタスクにはい
つまでもCPUが割り当てられないということが起こり
得る。そのため、CPUプライオリティの低いタスクが
永久的にCPUを使用できないことを防止する方法とし
て、以下のような方法が提案されている。
【0005】例えば、特開平7−21040号公報に開
示された方法では、CPU時間の一定割合を、長時間C
PU待ちになっているタスクに、CPU待ち時間の長い
順に割り当てることにより、永久CPU待ちを防止す
る。しかし、この方法では、CPUプライオリティの異
なるタスクに対してCPU待ち時間が同一なら同一の確
率でCPUを割り当てられるため、元々CPUプライオ
リティの高いタスクへの影響が出る。
【0006】また、特開平5−12038号公報には、
CPU待ち時間の長いタスクについて、その長さに応じ
てCPUプライオリティを一時的に引き上げる方法が開
示されている。しかし、この方法では、CPUの性能が
低い場合、CPUプライオリティの一時的引き上げが多
発して元々CPUプライオリティの高いタスクへの影響
が出る。
【0007】更にCPUディスパッチングの方法として
は、特開平5−158717号公報に開示された方法も
ある。この方法は、発生する事象によってタスクにCP
Uを与えるタイムスライスインターバルを増減してい
る。このため、特定のタスクを優先処理しようとしてタ
イムスライスインターバルを他のタスクのそれよりも極
めて長くすると、計算機システムの動きがぎくしゃくし
ているように見えてしまう。
【0008】更に又、CPU時間の一定割合を特定のタ
スクのグループへの最低保障率としてリザーブしておく
方法もある。しかし、この方法は、タスク特性を事前に
予想できない場合やタスク特性が時間帯によって変わる
場合に適用困難である。
【0009】本発明は上記問題点を解決するためになさ
れたものであって、その目的は優先度の低いタスクにも
相応の頻度で資源を割り当てることのできる資源配分方
法、計算機システム及び記録媒体を提供することにあ
る。
【0010】
【課題を解決するための手段】上記目的を達成するた
め、請求項1に記載の発明によれば、複数のタスクを備
え、資源が前記各タスクそれぞれの優先度に応じて配分
され共用されるように、前記各タスクのスケジューリン
グを行う計算機システムの資源配分方法において、前記
優先度に対して前記資源を割り当てる頻度の高さを設定
した加重度に基づいて前記資源の割当待ち状態にあるタ
スクが属する優先度の待ちサイクル数を設定し、前記資
源を割り当てる事象が発生する毎に各優先度の前記待ち
サイクル数を演算処理し、当該処理後の待ちサイクル数
が所定の条件を満足した優先度のタスクに前記資源を割
り当てるようにした。これにより、優先度の低いタスク
に対しても、加重度に応じて資源が割り当てられる。
【0011】待ちサイクル数は、請求項2に記載の発明
のように、そのタスクに資源が割り当てられるまでの予
定サイクル数であり、該待ちサイクル数を減数処理して
前記所定の条件を満足した優先度のタスクに前記資源を
割り当てる。
【0012】待ちサイクル数の再設定は、請求項3に記
載の発明のように、そのときその資源の割り当てを待っ
ている全てのタスクの加重度の総和を、前記資源を割り
当てる対象優先度に属するタスクの加重度の和で除した
値をもってなされる。
【0013】待ちサイクル数は、請求項4に記載の発明
のように、そのタスクに資源が割り当てられてから経過
したサイクル数であり、該待ちサイクル数を増数処理し
て前記所定の条件を満足した優先度のタスクに前記資源
を割り当てる。
【0014】請求項5に記載の発明のように、資源の割
当待ち状態にあるタスクの優先度に対して前記加重度に
基づいて基準サイクル数を各優先度毎に算出し、前記各
優先度の待ちサイクル数と前記基準サイクル数に基づい
て、該基準サイクル数よりも前記待ちサイクル数が大き
な優先度のタスクに前記資源を割り当てる。
【0015】請求項6に記載の発明のように、各優先度
の待ちサイクル数と前記基準サイクル数に基づいて各優
先度の待ちサイクル比率を求め、該待ちサイクル比率が
最も大きな優先度のタスクに前記資源を割り当てる。
【0016】請求項7に記載の発明によれば、複数のタ
スクを備え、資源が前記各タスクそれぞれの優先度に応
じて配分され共用されるように、前記各タスクのスケジ
ューリングを行う計算機システムにおいて、前記優先度
に対して前記資源を割り当てる頻度の高さを設定した加
重度が記憶されたテーブルと、前記加重度に基づいて設
定された前記資源の割当待ち状態にあるタスクが属する
優先度の待ちサイクル数が記憶されたテーブルと、前記
資源を割り当てる事象が発生する毎に各優先度の前記待
ちサイクル数を演算更新し、当該処理後の待ちサイクル
数が所定の条件を満足した優先度のタスクに前記資源を
割り当てるタスク管理部と、が備えられる。これによ
り、優先度の低いタスクに対しても、加重度に応じて資
源が割り当てられる。
【0017】請求項8に記載の発明によれば、複数のタ
スクそれぞれの優先度に応じて資源を割り当てるコンピ
ュータ読み取り可能なプログラムコードが記録された記
録媒体であって、前記優先度に対して前記資源を割り当
てる頻度の高さを設定した加重度に基づいて前記資源の
割当待ち状態にあるタスクが属する優先度の待ちサイク
ル数が記憶され、前記プログラムは、前記資源を割り当
てる事象が発生する毎に各優先度の前記待ちサイクル数
を演算処理し、当該処理後の待ちサイクル数が所定の条
件を満足した優先度のタスクに前記資源を割り当てる割
当ステップを備えた方法を実行する。これにより、優先
度の低いタスクに対しても、加重度に応じて資源を割り
当てるプログラムが記録された記録媒体が提供される。
【0018】
【発明の実施の形態】(第一実施形態)以下、本発明を
具体化した第一実施形態を図1〜図13に従って説明す
る。
【0019】図1は、計算機システム10のハードウェ
ア構成を概略的に示すブロック図である。計算機システ
ム10は、処理装置(CPU)11と、それに接続され
た主記憶装置12、入力装置13、出力装置14、補助
記憶装置15を含む。
【0020】計算機システムは、主記憶装置12を利用
してコンピュータプログラムを実行する。主記憶装置1
2はシステム・メモリ、キャッシュ・メモリ、ディスプ
レイ・メモリ等を含み、処理を実行するために必要なプ
ログラムコード、データ等が格納され、計算機システム
10は、その実行に於いて生成する複数のタスクを管理
し、各タスクに対してCPU11、補助記憶装置15な
どの逐次再使用可能資源を割当てる。資源が割り当てら
れたタスクは、その資源を使用して処理を実行する。
【0021】入力装置13は、キーボードおよびマウス
装置を含み、プログラムの起動等のユーザからの要求や
タスクの実行に必要なデータの入力等の指示の入力に用
いられる。出力装置14は、表示装置(VDT)または
モニタおよびプリンタを含み、タスクの実行時における
データやメッセージ等の出力に用いられる。
【0022】補助記憶装置15は、磁気ディスク装置、
光ディスク装置、光磁気ディスク装置を含む。この補助
記憶装置15には、上述のプログラムとデータが格納さ
れ、CPU11は、入力装置13による指示に応答して
プログラム,データを主記憶装置12へ転送し、それを
実行する。
【0023】また、補助記憶装置15は、記録媒体16
の駆動装置を含む。上記のコンピュータプログラムは、
記録媒体16やネットワーク接続された他の計算機シス
テムの主記憶装置や補助記憶装置等に格納されて提供さ
れる。記録媒体16としては、メモリカード、フロッピ
ーディスク、光ディスク(CD-ROM,DVD-ROM,…)、光磁
気ディスク(MO,MD,…)等、任意のコンピュータ読み取
り可能な可搬型記録媒体を使用することができる。
【0024】提供されたコンピュータプログラムは、記
録媒体16から直接主記憶装置12にロードされ、また
は記録媒体16から一旦補助記憶装置15にコピーまた
はインストール後に主記憶装置12にロードされ実行す
る。また、ネットワーク接続された他の計算機システム
に格納されて提供された場合も、他の計算機システムか
らネットワークを経由して受信後に補助記憶装置15に
コピーまたはインストールされ、主記憶装置12にロー
ドされ実行するものである。
【0025】図2は、計算機システム10におけるタス
ク管理の機能を説明するためのブロック図である。計算
機システム10は、タスク管理部21を備える。そのタ
スク管理部21は、計算機システム10において生成さ
れ実行される複数のタスク221,222,…,22n
(nは正の整数であり、コンピュータプログラムが実行
されるその時々において変化するタスクの数)を一括し
て管理する。そして、タスク管理部21は、各タスク2
21〜22nが要求する逐次再使用可能資源(serially
reusable resource)23を分配し、全体として最も効率
よく処理が行われるようにその分配を制御する。
【0026】逐次再使用可能資源(以下、単に資源とい
う)23は、複数のタスクからの同時使用はできないが
逐次になら使用可能な資源であり、これには図1のCP
U11、磁気ディスク装置等の補助記憶装置15を含
む。本実施形態のタスク管理部21は、資源23として
図1のCPU11を各タスク221〜22nに配分す
る。
【0027】タスク管理部21は、配分する資源23に
対応する複数のテーブル24,25,26,27を参照
及び書き換えし、各テーブル24〜27のデータに基づ
いて資源を割り当てる対象タスクを決定する。
【0028】図3に示すように、タスクステータステー
ブル24には、各タスク221〜22n毎にタスク番
号、ステータス、プライオリティ番号がそれぞれの領域
に格納されている。
【0029】タスク番号は、各タスク221〜22nの
それぞれを識別するために割り当てられたユニークな番
号であり、タスク管理部21はタスク番号にて各タスク
221〜22nを管理する。
【0030】ステータスは、資源(CPU)23を使用
する各タスク221〜22nの状態を示す。各タスク2
21〜22nは、「CPU使用中」、「CPU不要状
態」、「CPU割当待ち」のいずれかのステータスにあ
る。「CPU使用中」とは、そのタスクがCPUを使用
中であることを示す。「CPU不要状態」とは、そのタ
スクが入出力処理の終了や時間経過など何らかの事象待
ちであることを示し、このステータスのタスクにはCP
Uの割当てを行わなくても良い。「CPU割当待ち」と
は、そのタスクがCPUを使用しようとしてその割当て
を待っていることを示す。
【0031】各タスク221〜22nの状態はタスクス
テータステーブル24に記録される。タスク管理部21
は、ステータスが「CPU使用中」のタスク(図3にお
いてタスク番号「351」のタスク)が割り当てられた
CPUの使用を終了すると、次に「CPU割当待ち」の
ステータスを持つタスク番号「353」〜「356」の
タスクのうちの何れかにCPUを割り当てる。
【0032】プライオリティ番号は、CPUを使用する
権利の強さによって各タスク221〜22nが属するC
PUプライオリティの番号である。本実施形態では、大
きなプライオリティ番号を持つタスク(図3のタスク番
号「351」のタスク)は小さなそれを持つタスク(タ
スク番号「356」のタスク)より強い権利を持つ、即
ち、プライオリティの高いタスクに対して優先的に資源
23が割り当てられる。
【0033】待ち行列テーブル25には、各プライオリ
ティに於いて資源23の割当待ちをしているタスクのタ
スク番号がその待ち順で格納されている。図4はプライ
オリティ番号「3」のタスクの待ち行列を示し、3つの
タスクが資源23の割当てを待っていることを示す。
【0034】プライオリティ番号「3」のタスクに資源
23を割り当てる場合、タスク管理部21は、待ち行列
テーブル25に並べられた最初のタスク(図4において
タスク番号「355」のタスク)に資源23を割り当て
る。
【0035】図5に示すように、加重度テーブル26に
は、各プライオリティに対する加重度が記憶されてい
る。加重度は、そのプライオリティに属するタスクに資
源23を割り当てる頻度の高さであり、その値は各プラ
イオリティに対して相対的に設定されている。
【0036】待ちサイクル数管理テーブル27は、各C
PUプライオリティのタスクへのCPU割当頻度を管理
するために設けられている。図6に示すように、待ちサ
イクル数管理テーブル27には、各プライオリティに対
する待ちサイクル数が記憶されている。
【0037】待ちサイクル数は、そのCPUプライオリ
ティのタスクのCPU待ち行列の先頭に位置するタスク
にCPUが割り当てられるまでの予定時間を示し、その
初期値は計算機システム10の起動時に全てゼロに設定
される。そして、待ちサイクル数は、タスク管理部21
によって加重度に基づいて演算され、テーブル27に記
憶される。
【0038】タスク管理部21は、事象が発生する毎に
待ちサイクル数を演算・更新する。そして、タスク管理
部21は、待ちサイクル数が所定の条件を満足したプラ
イオリティに対して、そのプライオリティの待ち行列に
並べられた最初のタスクに資源23を割り当てる。
【0039】この時、異なるプライオリティを持つ複数
のタスクが同時に所定の条件を満足する場合がある。こ
の場合、タスク管理部21は、プライオリティ番号の大
きなタスクに優先的に資源23を割り当てる、即ちより
大きなプライオリティ番号を持つスクを優先実行させ
る。
【0040】次に、各タスク221〜22nに発生する
事象、及びそれに対応してCPUの使用権を割り当てる
処理を、図7〜図12のフローチャートに従って詳述す
る。この計算機システム10において、タスク管理部2
1は、次の4つの事象が発生した時に、資源23として
のCPU11の使用権を対象タスクに割り当てる。即
ち、(1)「CPU使用中のタスクがタイムスライスを
使い切ったとき」、(2)「CPU使用中のタスクがタ
イムスライスを使い切る前にCPUの使用を放棄したと
き」、(3)「CPU不要状態であったタスクがCPU
の使用を要求したとき」、(4)「新たにタスクが生成
されたとき」である。
【0041】以下では、先ず、これらの場合における処
理を説明し、次に、資源23(CPU11)を割り当て
る処理であるCPU割当処理について説明する。 (1)「CPU使用中」のタスクがタイムスライスを使
い切ったとき。
【0042】この場合、タスク管理部21は、図7のフ
ローチャートに従ってタイムスライス完了処理を実行す
る。先ず、ステップ41において、タスク管理部21
は、タイムスライスを使い切ったタスクのステータスを
「CPU使用中」から「CPU割当待ち」に変更し、そ
のタスクに指定されているCPUプライオリティのCP
U待ち行列の最後にそのタスクを追加登録する。次に、
ステップ42において、タスク管理部21はCPU割当
処理を実行する。この処理が終了すると、タスク管理部
21はタイムスライス完了処理を終了する。
【0043】(2)「CPU使用中」のタスクがタイム
スライスを使い切る前にCPUの使用を放棄したとき。
これは、タスクがその実行において入出力要求等のよう
に他の資源を要求した場合である。
【0044】この場合、タスク管理部21は、図8のフ
ローチャートに従ってタイムスライス残放棄処理を実行
する。先ず、ステップ43において、タスク管理部21
は、タイムスライス残を放棄したタスクのステータスを
「CPU使用中」から「CPU不要状態」に変更する。
次に、ステップ42において、タスク管理部21はCP
U割当処理を実行する。この処理が終了すると、タスク
管理部21はタイムスライス残放棄処理を終了する。
【0045】(3)「CPU不要状態」であったタスク
がCPUの使用を要求する。これは、他の資源を使用し
ていた、又は他のタスクからの情報待ちであったタスク
がCPUの使用を要求する場合である。
【0046】この場合、タスク管理部21は、図9のフ
ローチャートに従ってCPU割当要求処理を実行する。
先ず、ステップ44において、タスク管理部21は、C
PUの割当を要求するタスクのステータスを「CPU不
要状態」から「CPU割当待ち」に変更し、そのタスク
に指定されているCPUプライオリティのCPU待ち行
列の最後にそのタスクを追加登録する。
【0047】次に、ステップ45において、タスク管理
部21は、「CPU使用中」のタスクが存在するか否か
を判断する。そして、「CPU使用中」のタスクが存在
する場合、タスク管理部21は、CPU割当要求処理を
終了する。
【0048】一方、ステップ45において、「CPU使
用中」のタスクが存在しない場合、タスク管理部21は
ステップ45からステップ42に移り、そのステップ4
2においてCPU割当処理を実行する。この処理が終了
すると、タスク管理部21はCPU割当要求処理を終了
する。
【0049】(4)新たにタスクが生成されたとき。こ
の場合、タスク管理部21は、図10のフローチャート
に従って生成タスク登録処理を実行する。
【0050】先ず、ステップ46において、タスク管理
部21は、生成されたタスクのために未使用のタスク番
号を割り当てて図2のタスクステータステーブル24に
登録する。タスク管理部21は、登録するタスクのステ
ータスを「CPU割当待ち」に、CPUプライオリティ
をタスク生成原因によって決定する。そして、タスク管
理部21は、決定したCPUプライオリティのCPU待
ち行列の最後にそのタスクを追加登録する。
【0051】次に、ステップ47において、タスク管理
部21は、「CPU使用中」のタスクが存在するか否か
を判断する。そして、「CPU使用中」のタスクが存在
する場合、タスク管理部21は、生成タスク登録処理を
終了する。
【0052】一方、ステップ47において、「CPU使
用中」のタスクが存在しない場合、この場合、タスク管
理部21はステップ47からステップ42に移り、その
ステップ42においてCPU割当処理を実行する。この
処理が終了すると、タスク管理部21は生成タスク登録
処理を終了する。
【0053】次に、CPU割当処理を図11のフローチ
ャートに従って詳述する。図11のステップ51〜56
は、図7〜図10におけるCPU割当処理のサブステッ
プである。
【0054】即ち、ステップ51において、タスク管理
部21は、「CPU割当待ち」のタスクが存在するか否
かを判断し、そのタスクがひとつもない場合は直ちにC
PU割当処理を終了する。一方、ステップ51におい
て、「CPU割当待ち」のタスクがひとつ以上ある場
合、タスク管理部21はステップ51からステップ52
に移る。
【0055】ステップ52〜54は対象プライオリティ
決定処理であり、タスク管理部21は、待ちサイクル数
に基づいて、資源23(CPU)を割り当てる対象とな
るプライオリティを決定する。
【0056】ステップ52において、タスク管理部21
は、「CPU割当待ち」のタスクの数がゼロでなく、且
つ待ちサイクル数がゼロでないCPUプライオリティに
おける待ちサイクル数を「1」減算し、図2の待ちサイ
クル数管理テーブル27を更新する。
【0057】次に、ステップ53において、タスク管理
部21は、「CPU割当待ち」のタスクの数がゼロでな
く、且つ待ちサイクル数がゼロであるCPUプライオリ
ティが一つ以上あるか否かを判断する。そして、タスク
管理部21は、その判断結果に基づいて、待ちサイクル
数がゼロであるCPUプライオリティが一つもない場合
にはステップ53から前のステップ52に移り、一つ以
上ある場合にはステップ53から次のステップ54に進
む。
【0058】そして、ステップ54において、タスク管
理部21は、待ちサイクル数がゼロのCPUプライオリ
ティが複数存在する場合、それらの内の最も大きいプラ
イオリティ番号を持つCPUプライオリティを、待ちサ
イクル数がゼロのCPUプライオリティが一つの場合に
はそのCPUプライオリティを対象プライオリティに決
定する。
【0059】即ち、タスク管理部21は、「CPU割当
待ち」のタスクが存在する複数のCPUプライオリティ
のうちの少なくとも一つの待ちサイクル数がゼロになる
までステップ52,53を繰り返し実行する。その結果
得られたCPUプライオリティのうちの最もプライオリ
ティ番号の大きい物を対象プライオリティに決定する。
このようにして対象プライオリティを決定すると、タス
ク管理部21は、ステップ54からステップ55に移
る。
【0060】ステップ55は更新処理であり、タスク管
理部21は、対象プライオリティの新たな待ちサイクル
数を「CPU割当待ち」のタスクの数と加重度に基づい
て算出し、その新たな待ちサイクル数にて図2の待ちサ
イクル数管理テーブル27を更新する。
【0061】次に、ステップ56において、タスク管理
部21は、対象プライオリティのCPU待ち行列に並べ
られたタスクの内、先頭のタスクをその待ち行列から外
し、対象プライオリティのステータスを「CPU使用
中」に変更する。そして、タスク管理部21は、その変
更したタスクにタイムスライス(CPUを所定時間使用
できる権利)を与え、CPU割当処理を終了する。
【0062】次に、ステップ55における更新処理を、
図12及び図13に従って詳述する。図12は、更新処
理のフローチャートであり、このフローチャートにおけ
るステップ61〜64は図11のステップ55のサブス
テップである。
【0063】ステップ61では、タスク管理部21は、
各プライオリティ毎にCPU待ちタスク数と加重度の積
を演算して求めた値を各プライオリティにおける加重点
数とする。
【0064】例えば、プライオリティ番号「3」のタス
クが3つ、プライオリティ番号「4」のタスク1つが
「CPU割当待ち」のステータスにある。この場合、図
5の加重度テーブル26から得たプライオリティ番号
「3」の加重度「5」とプライオリティ番号「4」の加
重度「10」から、タスク管理部21はそれぞれのプラ
イオリティ番号における加重点数「15」(=5×
3),「10」(10×1)を得る。
【0065】次に、ステップ62において、タスク管理
部21は、全プライオリティの加重点数を加算して総荷
重点数を求める。即ち、タスク管理部21は、図13に
示すように、総荷重点数「25」(=15+10)を得
る。
【0066】次に、ステップ63において、タスク管理
部21は、総荷重点数を対象プライオリティの加重点数
で除算し、その演算結果の小数点以下を切り上げて得た
値を対象プライオリティにおける新たな待ちサイクル数
とする。
【0067】今、対象プライオリティがプライオリティ
番号「3」であるため、タスク管理部21は総荷重点数
「25」をその対象プライオリティにおける加重点数
「15」で除算して得た結果(≒1.66)の小数点以
下を切り上げて新たな待ちサイクル数「2」を得る。
【0068】そして、ステップ64において、タスク管
理部21は、ステップ63において得た新たな待ちサイ
クル数を図2の待ちサイクル数管理テーブル27に書き
込み、それを更新する。
【0069】以上記述したように、本実施の形態によれ
ば、以下の効果を奏する。 (1)タスク管理部21は、各タスク221〜22nの
CPUプライオリティに対して資源23を割り当てる頻
度の高さを設定した加重度に基づいて、その資源の割当
待ち状態にあるタスク221〜22nが属するCPUプ
ライオリティの待ちサイクル数を設定し、資源23を割
り当てる事象が発生する毎に各CPUプライオリティの
待ちサイクル数を減算処理し、当該処理後の待ちサイク
ル数がゼロになったCPUプライオリティのタスクに資
源23を割り当てるようにした。その結果、CPUプラ
イオリティの低いタスクに対しても、加重度に応じて資
源を割り当てることができる。
【0070】(2)複数のCPUプライオリティの待ち
サイクル数が同時にゼロになったとき、タスク管理部2
1は、よりCPUプライオリティの高いタスクに資源2
3を割り当てるようにした。その結果、CPUプライオ
リティに応じてタスクを実行させることができる。
【0071】(3)複数のタスク221〜22nに資源
23を割り当てる頻度を加重度として設定したため、各
タスク221〜22nのCPUプライオリティを変更す
る必要が無いため、その制御が容易になる。
【0072】(4)複数のタスク221〜22nに資源
23を割り当てる頻度を加重度として設定したため、C
PUプライオリティが高いタスク又はCPUプライオリ
ティが低いタスクを多く実行する場合に有利である。即
ち、CPUプライオリティが高いタスクが多いと、CP
Uプライオリティが低いタスクに資源が割り当てられに
くくなる。しかし、本実施形態では、待ちサイクル数に
基づいて資源23を割り当てるため、CPUプライオリ
ティが低いタスクにも資源が割り当てられる。また、C
PUプライオリティが低いタスクが多いと、それらのタ
スクの処理が終了するまでCPUプライオリティが高い
タスクが待たされるため、実行がぎくしゃくしてみえ
る。しかし、本実施形態では、CPUプライオリティが
高いタスクには、加重度に応じて設定する待ちサイクル
数にて資源23を割り当てるため、その待ちサイクル数
がゼロになればCPUプライオリティが低いタスクより
も優先して資源23が割り当てられる。その結果、CP
Uプライオリティが高いタスクの実行がぎくしゃくする
ことがない。
【0073】(第二実施形態)以下、本発明を具体化し
た第二実施形態を図14〜図24に従って説明する。
尚、説明の便宜上、第一実施形態と同様の構成について
は同一の符号を付してその説明を一部省略する。
【0074】図14は、本実施形態の計算機システム1
0aにおけるタスク管理の機能を説明するブロック図で
ある。尚、計算機システム10aの概略構成は第一実施
形態におけるそれと同じであるため、図面及び詳細な説
明を省略する。
【0075】計算機システム10aは、タスク管理部2
1aを備え、そのタスク管理部21aは、計算機システ
ム10aにおいて生成され実行される複数のタスク22
1〜22nを一括して管理する。そして、タスク管理部
21aは、各タスク221〜22nが要求する逐次再使
用可能資源23aを分配し、全体として最も効率よく処
理が行われるようにその分配を制御する。尚、本実施形
態では、タスク管理部21aは資源23aとして図1の
補助記憶装置15に含まれる磁気ディスク装置等のデバ
イスのアクセス権を各タスク221〜22nに逐次配分
する。
【0076】タスク管理部21aは、配分する資源23
aに対応する複数のテーブル24a,25a,26a,
27aを参照及び書き換えし、各テーブル24a〜27
aのデータに基づいて資源を割り当てる対象タスクを決
定する。。図15に示すように、タスクステータステー
ブル24aには、各タスク221〜22n毎にタスク番
号、ステータス、プライオリティ番号がそれぞれの領域
に格納されている。
【0077】タスク番号は、各タスク221〜22nの
それぞれを識別するために割り当てられたユニークな番
号であり、タスク管理部21aはタスク番号にて各タス
ク221〜22nを管理する。
【0078】ステータスは、資源(ドライブアクセス
権)23を使用する各タスク221〜22nの状態を示
す。各タスク221〜22nは、「ドライブアクセス権
使用中」、「ドライブアクセス権不要状態」、「ドライ
ブアクセス権割当待ち」のいずれかのステータスにあ
る。「ドライブアクセス権使用中」とは、そのタスクが
ドライブアクセス権を使用中であることを示す。「ドラ
イブアクセス権不要状態」とは、そのタスクがCPU演
算処理の終了や時間経過など何らかの他の事象待ちであ
ることを示し、このステータスのタスクにはドライブア
クセス権の割当てを行わなくても良い。「ドライブアク
セス権割当待ち」とは、そのタスクがドライブアクセス
権を使用しようとしてその割当てを待っていることを示
す。
【0079】各タスク221〜22nの状態はタスクス
テータステーブル24aに記録される。タスク管理部2
1aは、ステータスが「ドライブアクセス権使用中」の
タスク(図15においてタスク番号「651」のタス
ク)が割り当てられたドライブアクセス権の使用を終了
すると、次に「ドライブアクセス権割当待ち」のステー
タスを持つタスク番号「653」〜「657」のタスク
のうちの何れかにドライブアクセス権を割り当てる。
【0080】プライオリティ番号は、ドライブアクセス
権を使用する権利の強さによって各タスク221〜22
nが属するドライブアクセス権プライオリティの番号で
ある。本実施形態では、大きなプライオリティ番号を持
つタスク(例えば、図15のタスク番号「652」のタ
スク)は小さなそれを持つタスク(タスク番号「65
3」のタスク)より強い権利を持つ、即ち、プライオリ
ティの高いタスクに対して優先的に資源23が割り当て
られる。
【0081】待ち行列テーブル25aには、各プライオ
リティに於いて資源23の割当待ちをしているタスクの
タスク番号がその待ち順で格納されている。図16はプ
ライオリティ番号「5」のタスクの待ち行列を示し、3
つのタスクが資源23の割当てを待っていることを示
す。
【0082】プライオリティ番号「5」のタスクに資源
23を割り当てる場合、タスク管理部21aは、待ち行
列テーブル25aに並べられた最初のタスク(図16に
おいてタスク番号「655」のタスク)に資源23を割
り当てる。
【0083】図17に示すように、加重度テーブル26
aには、各プライオリティに対する加重度が記憶されて
いる。加重度は、そのプライオリティに属するタスクに
資源23を割り当てる頻度の高さを定義する物であり、
その値は各プライオリティに対して相対的に設定されて
いる。
【0084】待ちサイクル数管理テーブル27aは、各
ドライブアクセス権プライオリティのタスクへのドライ
ブアクセス権割当頻度を管理するために設けられてい
る。図18に示すように、待ちサイクル数管理テーブル
27aには、各プライオリティに対する待ちサイクル数
が記憶されている。
【0085】待ちサイクル数は、そのドライブアクセス
権プライオリティのタスクのドライブアクセス権待ち行
列の先頭に位置するタスクがドライブアクセス権の割り
当てを待っている経過時間を示し、その初期値は計算機
システム10の起動時に全てゼロに設定される。そし
て、待ちサイクル数は、タスク管理部21aによって加
重度に基づいて演算され、テーブル27aに記憶され
る。
【0086】タスク管理部21aは、事象が発生する毎
に待ちサイクル数を演算・更新する。そして、タスク管
理部21aは、待ちサイクル数が所定の条件を満足した
プライオリティに対して、そのプライオリティの待ち行
列に並べられた最初のタスクに資源23を割り当てる。
所定の条件は、経過時間が予め設定した基準サイクル数
を越えたか否かである。
【0087】この時、異なるプライオリティを持つ複数
のタスクが同時に所定の条件を満足する場合がある。こ
の場合、タスク管理部21aは、プライオリティ番号の
大きなタスクに優先的に資源23を割り当てる、即ちよ
り大きなプライオリティ番号を持つスクを優先実行させ
る。
【0088】次に、各タスク221〜22nに発生する
事象、及びそれに対応してドライブアクセス権の使用権
を割り当てる処理を、図19〜図22のフローチャート
に従って詳述する。
【0089】この計算機システム10aにおいて、タス
ク管理部21aは、次の2つの事象が発生した時に、資
源23aとしての磁気ディスク装置のドライブアクセス
権をタスクに割り当てる。即ち、「ドライブアクセス不
要状態であったタスクがドライブのアクセスを要求した
とき」、「ドライブアクセス権使用中のタスクがドライ
ブのアクセスを終了したとき」、である。
【0090】以下では、先ずこれらの事象発生時におけ
る処理を説明し、次に資源23aを割り当てる処理であ
るドライブアクセス権割当処理について説明する。 (1)「ドライブアクセス権使用中」のタスクが磁気デ
ィスク装置のアクセスを終了したとき。
【0091】この場合、タスク管理部21aは、図19
のフローチャートに従ってドライブアクセス権解放処理
を実行する。磁気ディスク装置(ドライブA)のアクセ
スを終了したときとは、磁気ディスク装置に連続してア
クセスする場合であっても、1回の入出力を終了したと
きであり、1回の入出力は最大でも1シリンダの読み出
し又は書き込みである。
【0092】先ず、ステップ71において、タスク管理
部21は、ドライブAのアクセスを終了したタスクがド
ライブAに連続して入出力要求しているか否かを判断
し、入出力要求がない場合にはステップ71からステッ
プ72に移る。そのステップ72において、タスク管理
部21aは、ドライブAのアクセスを終了したタスクの
ステータスを「ドライブアクセス権使用中」から「ドラ
イブアクセス不要状態」に変更する。その後、タスク管
理部21aはステップ72からステップ73に移り、ド
ライブアクセス権割当処理を実行する。この処理が終了
すると、タスク管理部21aはドライブアクセス権解放
処理を終了する。
【0093】一方、入出力要求がある場合、タスク管理
部21aはステップ71からステップ74に移る。その
ステップ74において、タスク管理部21aはアクセス
を終了したタスクのステータスを「ドライブアクセス権
使用中」から「ドライブアクセス権割当待ち」に変更
し、そのタスクに指定されているデバイスプライオリテ
ィのデバイス待ち行列の最後にそのタスクを追加登録す
る。その後、タスク管理部21aは、ステップ74から
ステップ72に移り、ドライブアクセス権割当処理を実
行する。この処理が終了すると、タスク管理部21aは
ドライブアクセス権解放処理を終了する。
【0094】(2)「ドライブアクセス不要状態」であ
ったタスクがドライブのアクセスを要求するとき。 この場合、タスク管理部21aは、図20のフローチャ
ートに従ってドライブアクセス権要求処理を実行する。
【0095】先ず、ステップ75において、タスク管理
部21aは、ドライブAのアクセスを要求するタスクの
ステータスを「ドライブアクセス不要状態」から「ドラ
イブアクセス権割当待ち」に変更し、そのタスクに指定
されているデバイスプライオリティのデバイス待ち行列
の最後にそのタスクを追加登録する。
【0096】次に、ステップ76において、タスク管理
部21aは、「ドライブアクセス権使用中」のタスクが
存在するか否かを判断し、存在する場合にはドライブア
クセス権要求処理を終了する。
【0097】一方、ステップ76においてタスクが存在
しない場合、タスク管理部21aはステップ76からス
テップ73へ移り、ドライブアクセス権割当処理を実行
する。この処理が終了すると、タスク管理部21aはド
ライブアクセス権要求処理を終了する。
【0098】次に、ドライブアクセス権割当処理を図2
1のフローチャートに従って詳述する。図21のステッ
プ81〜87は、図19及び図20におけるステップ7
3のサブステップである。
【0099】即ち、ステップ81において、タスク管理
部21aは、「ドライブアクセス権割当待ち」のタスク
が存在するか否かを判断し、存在しない場合には直ちに
ドライブアクセス権割当処理を終了する。一方、ステッ
プ81において、タスクが一つ以上存在する場合、タス
ク管理部21aは、ステップ81からステップ82に移
る。
【0100】ステップ82〜ステップ85は対象プライ
オリティ決定処理であり、タスク管理部21aは、待ち
サイクル数に基づいて、資源23a(ドライブAのアク
セス権)を割り当てる対象となるプライオリティを決定
する。
【0101】先ず、ステップ82において、タスク管理
部21aは、「ドライブアクセス権割当待ち」のタスク
数がゼロでないデバイスプライオリティ全部について、
待ちサイクル数を1増加する。
【0102】次に、ステップ83において、タスク管理
部21aは、「ドライブアクセス権割当待ち」のタスク
数がゼロでないデバイスプライオリティについて、基準
サイクル数計算処理により基準サイクル数の計算を行
う。
【0103】そして、ステップ84において、タスク管
理部21aは、「ドライブアクセス権割当待ち」のタス
ク数がゼロでないデバイスプライオリティのうちで、待
ちサイクル数が基準サイクル数に等しいか又はそれを超
過するものがあるか否かを判断する。ひとつもない場
合、タスク管理部21aはステップ82に戻る、即ち上
記の待ちサイクル数増加処理を繰り返す。
【0104】一方、ステップ84において、「ドライブ
アクセス権割当待ち」のタスク数がゼロでなく待ちサイ
クル数が基準サイクル数に等しいか又はそれを超過する
ものがある場合、タスク管理部21aはステップ84か
らステップ85へ進む。
【0105】そのステップ85において、タスク管理部
21aは、基準サイクル数に対する待ちサイクル数の比
率を計算して得た値を各デバイスプライオリティにおけ
る待ちサイクル比率とし、その待ちサイクル比率の最も
大きいデバイスプライオリティを今回対象プライオリテ
ィとする。但し、待ちサイクル比率最大のデバイスプラ
イオリティが複数ある場合、タスク管理部21aは、そ
れらのうちでプライオリティ番号の最大ののものを今回
対象プライオリティとする。
【0106】即ち、タスク管理部21aは、待ちサイク
ル数を増数処理し、その処理結果に基づいて待ちサイク
ル数が基準サイクル数以上になったデバイスプライオリ
ティを対象プライオリティに設定する。このようにして
対象プライオリティを決定すると、タスク管理部21a
は、ステップ85からステップ86へ移る。
【0107】ステップ86において、タスク管理部21
aは、ステップ85において決定した対象プライオリテ
ィの待ちサイクル数をリセット(ゼロに設定)する。次
に、ステップ87において、タスク管理部21aは、対
象プライオリティのデバイス待ち行列の先頭に位置する
タスクをデバイス待ち行列から外し、ステータスを「ド
ライブアクセス権使用中」に変更する。そして、タスク
管理部21aは、その変更したタスクにドライブAのア
クセス権を与え、ドライブアクセス権割当処理を終了す
る。
【0108】次に、ステップ83における基準サイクル
数の算出処理を、図22〜図24に従って詳述する。図
22は、基準サイクル数算出処理のフローチャートであ
り、このフローチャートにおけるステップ91〜93は
図21のステップ83のサブステップである。
【0109】ステップ91では、タスク管理部21a
は、各デバイスプライオリティ毎にデバイス待ちタスク
数と加重度の積を求め、これをそのデバイスプライオリ
ティの加重点数とする。
【0110】次に、ステップ92において、タスク管理
部21aは、全デバイスプライオリティの加重点数を合
計して、総加重点数を求める。そして、ステップ93に
おいて、タスク管理部21aは、総加重点数を各デバイ
スプライオリティの加重点数で除した値を、そのデバイ
スプライオリティの基準サイクル数とする。
【0111】このようにして、タスク管理部21aは、
各プライオリティ番号に対する基準サイクル数を得る。
そして、タスク管理部21aは、基準サイクル数と待ち
サイクル数管理テーブル27の待ちサイクル数に基づい
て図21のステップ85において待ちサイクル数比率を
算出し、その待ちサイクル比率の最も大きなデバイスプ
ライオリティを対象プライオリティに決定する。
【0112】例えば、図5に示す複数のタスクの場合、
プライオリティ番号「4」のタスクが1つ、プライオリ
ティ番号「5」のタスクが3つ、プライオリティ番号
「7」のタスク1つが「ドライブアクセス権割当待ち」
のステータスにある。この場合、タスク管理部21a
は、図21のステップ91において、図17の加重度テ
ーブル26aから得た各加重度「5」,「8」,「2
1」から、タスク管理部21aは、それぞれのプライオ
リティ番号における加重点数「5」(=5×1),「2
4」(=8×3),「21」(=21×1)を得る。
【0113】次に、タスク管理部21aは、ステップ9
2において、図23に示すように、総荷重点数「50」
(=5+24+21)を得る。そして、タスク管理部2
1aは、ステップ93において、各プライオリティ番号
「4」,「5」,「7」に対する基準サイクル数「1
0.00」(=50÷5),「2.08」(=50÷2
4),「2.38」(=50÷21)を得る。
【0114】このようにして得た基準サイクル数と待ち
サイクル数に基づいて、タスク管理部21aは、図24
に示すように、各デバイスプライオリティに対する待ち
サイクル数比率を算出する。そして、タスク管理部21
aは、これらの待ちサイクル数比率の内の最も大きな値
であるプライオリティ番号「5」を対象プライオリティ
に決定する。
【0115】以上記述したように、本実施の形態によれ
ば、以下の効果を奏する。 (1)上記第一実施形態の(1)と同様に、デバイスプ
ライオリティの低いタスクに対しても、加重度に応じて
資源23aを割り当てることができる。更に、上記第一
実施形態の(3)及び(4)と同様に、タスクの制御が
容易で、デバイスプライオリティの高いタスクの実行が
ぎくしゃくすることがない。
【0116】(2)複数のデバイスプライオリティの待
ちサイクル数が同時に基準サイクル数以上になったと
き、タスク管理部21aは、待ちサイクル比率を求め、
それが最も高いデバイスプライオリティのタスクに資源
23aを割り当てるようにした。その結果、資源23a
をより多く必要とするデバイスプライオリティに、その
資源23aを割り当てることができる。
【0117】尚、前記各実施形態は、以下の態様に変更
してもよい。 ○上記第一実施形態において、各タスク221〜22n
にドライブアクセス権を割り当てる場合に、第二実施形
態のように加算処理して得た待ちサイクル数を用いて割
り当てる。逆に、第二実施形態において、各タスク22
1〜22nに資源として磁気ディスク装置を割り当てる
場合に、第一実施形態のように減算処理して得た待ちサ
イクル数を用いて割り当てる。このようにしても、第一
及び第二実施形態と同様の効果をえることができる。
【0118】○上記各実施形態では、逐次再使用可能資
源としてドライブアクセス権及び磁気ディスク装置を割
り当てる場合について説明したが、それら以外の逐次再
使用可能資源(例えば、光ディスク装置等の補助記憶装
置)を割り当てる場合に適用しても良い。このような資
源も効率よくタスクに割り当てることができる。
【0119】○上記各実施形態では、1つの資源(CP
U11及び磁気ディスク装置)を複数のタスク221〜
22nに割り当てる場合について説明したが、複数のC
PUを持つ計算機システム(マルチプロセッサシステ
ム)や複数の磁気ディスクを有する計算機システム等の
ように、同一種類の資源を複数個有する計算機システム
に用いても良い。
【0120】○上記各実施形態では、プライオリティ番
号に対応して資源を割り当てる頻度の高さを相対的に定
義した加重度をテーブル27,27aに格納したが、テ
ーブルを用いずに実施しても良い。
【0121】以上の実施形態をまとめ、本発明の構成に
関する以下の事項を開示する。 (1) 請求項1に記載の資源配分方法において、前記
複数の優先度に対する待ちサイクル数が前記所定の条件
を満足したときには、前記優先度の高いタスクに前記資
源を割り当てることを特徴とする資源配分方法。
【0122】(2) 請求項1に記載の資源配分方法に
おいて、前記各タスクはそれぞれが属する優先度の待ち
行列に並べられ、前記資源を待ち行列の先頭にあるタス
クに割り当て、該優先度の待ちサイクル数を再設定する
ことを特徴とする資源配分方法。
【0123】(3) 請求項7に記載の計算機システム
において、前記タスク管理部は、前記複数の優先度に対
する待ちサイクル数が前記所定の条件を満足したときに
は、前記優先度の高いタスクに前記資源を割り当てるこ
とを特徴とする計算機システム。
【0124】(4) 請求項7に記載の計算機システム
において、前記各優先度毎に前記資源の割当待ち状態の
タスクが並べられた待ち行列のテーブルを備え、前記タ
スク管理部は、前記資源を待ち行列の先頭にあるタスク
に割り当て、該優先度の待ちサイクル数を再設定するこ
とを特徴とする計算機システム。
【0125】(5) 請求項7に記載の計算機システム
において、前記待ちサイクル数は、そのタスクに資源が
割り当てられるまでの予定サイクル数であり、前記タス
ク管理部は、前記待ちサイクル数を減数処理して前記所
定の条件を満足した優先度のタスクに前記資源を割り当
てることを特徴とする計算機システム。
【0126】(6) 上記(5)に記載の計算機システ
ムにおいて、前記タスク管理部は、そのときその資源の
割り当てを待っている全てのタスクの加重度の総和を、
前記資源を割り当てる対象優先度に属するタスクの加重
度の和で除した値で前記待ちサイクル数を再設定するこ
とを特徴とする計算機システム。
【0127】(7) 請求項7に記載の計算機システム
において、前記待ちサイクル数は、そのタスクに資源が
割り当てられてから経過したサイクル数であり、前記タ
スク管理部は、前記待ちサイクル数を増数処理して前記
所定の条件を満足した優先度のタスクに前記資源を割り
当てることを特徴とする計算機システム。
【0128】(8) 上記(7)に記載の計算機システ
ムにおいて、前記タスク管理部は、前記資源の割当待ち
状態にあるタスクの優先度に対して前記加重度に基づい
て基準サイクル数を各優先度毎に算出し、前記各優先度
の待ちサイクル数と前記基準サイクル数に基づいて、該
基準サイクル数よりも前記待ちサイクル数が大きな優先
度のタスクに前記資源を割り当てることを特徴とする計
算機システム。
【0129】(9) 上記(8)に記載の計算機システ
ムにおいて、前記タスク管理部は、前記各優先度の待ち
サイクル数と前記基準サイクル数に基づいて各優先度の
待ちサイクル比率を求め、該待ちサイクル比率が最も大
きな優先度のタスクに前記資源を割り当てることを特徴
とする計算機システム。
【0130】(10) 請求項8に記載の資源配分方法
において、前記割当ステップは、前記複数の優先度に対
する待ちサイクル数が前記所定の条件を満足するか否か
を判断するステップと、前記判断結果に基づいて、前記
所定の条件を満足するときに前記優先度の高いタスクに
前記資源を割り当てるステップと、を含むことを特徴と
する記録媒体。
【0131】(11) 請求項8に記載の資源配分方法
において、各優先度にそれぞれ属するタスクが並べられ
た待ち行列が記憶され、前記割当ステップは、前記資源
を待ち行列の先頭にあるタスクに割り当て、該優先度の
待ちサイクル数を再設定することを特徴とする記録媒
体。
【0132】(12) 請求項8に記載の資源配分方法
において、前記待ちサイクル数は、そのタスクに資源が
割り当てられるまでの予定サイクル数であり、前記割当
ステップは、前記待ちサイクル数を減数処理するステッ
プと、前記処理結果が前記所定の条件を満足するか否か
を判断するステップと、前記判断結果に基づいて前記所
定の条件を満足した優先度のタスクに前記資源を割り当
てるステップと、を含むことを特徴とする記録媒体。
【0133】(13) 上記(12)に記載の資源配分
方法において、前記割当ステップは、そのときその資源
の割り当てを待っている全てのタスクの加重度の総和
を、前記資源を割り当てる対象優先度に属するタスクの
加重度の和で除した値で前記待ちサイクル数を再設定す
るステップを含むことを特徴とする記録媒体。
【0134】(14) 請求項8に記載の資源配分方法
において、前記待ちサイクル数は、そのタスクに資源が
割り当てられてから経過したサイクル数であり、前記割
当ステップは、前記待ちサイクル数を増数処理するステ
ップと、前記処理結果が前記所定の条件を満足するか否
かを判断するステップと、前記判断結果に基づいて前記
所定の条件を満足する優先度のタスクに前記資源を割り
当てるステップと、を含むことを特徴とする記録媒体。
【0135】(15) 上記(14)に記載の資源配分
方法において、前記割当ステップは、前記資源の割当待
ち状態にあるタスクの優先度に対して前記加重度に基づ
いて基準サイクル数を各優先度毎に算出するステップ
と、前記各優先度の待ちサイクル数と前記基準サイクル
数とを比較するステップと、を含み、前記比較結果によ
り前記基準サイクル数よりも前記待ちサイクル数が大き
な優先度のタスクに前記資源を割り当てることを特徴と
する記録媒体。
【0136】(16) 上記(15)に記載の資源配分
方法において、前記割当ステップは、更に、前記各優先
度の待ちサイクル数と前記基準サイクル数に基づいて各
優先度の待ちサイクル比率を求めるステップを含み、該
待ちサイクル比率が最も大きな優先度のタスクに前記資
源を割り当てることを特徴とする記録媒体。
【0137】
【発明の効果】以上詳述したように、本発明によれば、
優先度に対して前記資源を割り当てる頻度の高さを設定
した加重度に基づいて資源の割当待ち状態にあるタスク
が属する優先度の待ちサイクル数を設定し、その待ちサ
イクル数が所定の条件を満足した優先度のタスクに資源
を割り当てるようにしたため、優先度の低いタスクに対
しても、加重度に応じて資源を割り当てることが可能な
資源配分方法、計算機システム、及びそれを実行するプ
ログラムを記録した記録媒体を提供することができる。
【図面の簡単な説明】
【図1】 計算機システムの概略構成図である。
【図2】 第一実施形態のタスク管理機能を説明するブ
ロック図である。
【図3】 タスクステータステーブルの説明図である。
【図4】 CPU待ち行列の説明図である。
【図5】 加重度テーブルの説明図である。
【図6】 待ちサイクル数管理テーブルの説明図であ
る。
【図7】 タイムスライス完了処理のフローチャートで
ある。
【図8】 タイムスライス残放棄処理のフローチャート
である。
【図9】 CPU割当要求処理のフローチャートであ
る。
【図10】 生成タスク登録処理のフローチャートであ
る。
【図11】 CPU割当処理のフローチャートである。
【図12】 待ちサイクル数更新処理のフローチャート
である。
【図13】 待ちサイクル数の計算説明図である。
【図14】 第二実施形態のタスク管理機能を説明する
ブロック図である。
【図15】 タスクステータステーブルの説明図であ
る。
【図16】 デバイス待ち行列の説明図である。
【図17】 加重度テーブルの説明図である。
【図18】 待ちサイクル数管理テーブルの説明図であ
る。
【図19】 アクセス権解放処理のフローチャートであ
る。
【図20】 アクセス権要求処理のフローチャートであ
る。
【図21】 アクセス権割当処理のフローチャートであ
る。
【図22】 基準サイクル数計算処理のフローチャート
である。
【図23】 基準サイクル数計算の説明図である。
【図24】 待ちサイクル比率計算の説明図である。
【符号の説明】
21,21a タスク管理部 221〜22n タスク 23,23a 逐次再使用可能資源 24,24a ステータス(テーブル) 25,25a 待ち行列(テーブル) 26,26a 加重度(テーブル) 27,27a 待ちサイクル数(管理テーブル)

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 複数のタスクを備え、資源が前記各タス
    クそれぞれの優先度に応じて配分され共用されるよう
    に、前記各タスクのスケジューリングを行う計算機シス
    テムの資源配分方法において、 前記優先度に対して前記資源を割り当てる頻度の高さを
    設定した加重度に基づいて前記資源の割当待ち状態にあ
    るタスクが属する優先度の待ちサイクル数を設定し、 前記資源を割り当てる事象が発生する毎に各優先度の前
    記待ちサイクル数を演算処理し、当該処理後の待ちサイ
    クル数が所定の条件を満足した優先度のタスクに前記資
    源を割り当てるようにしたことを特徴とする資源配分方
    法。
  2. 【請求項2】 請求項1に記載の資源配分方法におい
    て、 前記待ちサイクル数は、そのタスクに資源が割り当てら
    れるまでの予定サイクル数であり、該待ちサイクル数を
    減数処理して前記所定の条件を満足した優先度のタスク
    に前記資源を割り当てることを特徴とする資源配分方
    法。
  3. 【請求項3】 請求項2に記載の資源配分方法におい
    て、 前記待ちサイクル数の再設定は、そのときその資源の割
    り当てを待っている全てのタスクの加重度の総和を、前
    記資源を割り当てる対象優先度に属するタスクの加重度
    の和で除した値をもってなすことを特徴とする資源配分
    方法。
  4. 【請求項4】 請求項1に記載の資源配分方法におい
    て、 前記待ちサイクル数は、そのタスクに資源が割り当てら
    れてから経過したサイクル数であり、該待ちサイクル数
    を増数処理して前記所定の条件を満足した優先度のタス
    クに前記資源を割り当てることを特徴とする資源配分方
    法。
  5. 【請求項5】 請求項4に記載の資源配分方法におい
    て、 前記資源の割当待ち状態にあるタスクの優先度に対して
    前記加重度に基づいて基準サイクル数を各優先度毎に算
    出し、前記各優先度の待ちサイクル数と前記基準サイク
    ル数に基づいて、該基準サイクル数よりも前記待ちサイ
    クル数が大きな優先度のタスクに前記資源を割り当てる
    ことを特徴とする資源配分方法。
  6. 【請求項6】 請求項5に記載の資源配分方法におい
    て、 前記各優先度の待ちサイクル数と前記基準サイクル数に
    基づいて各優先度の待ちサイクル比率を求め、該待ちサ
    イクル比率が最も大きな優先度のタスクに前記資源を割
    り当てることを特徴とする資源配分方法。
  7. 【請求項7】 複数のタスクを備え、資源が前記各タス
    クそれぞれの優先度に応じて配分され共用されるよう
    に、前記各タスクのスケジューリングを行う計算機シス
    テムにおいて、 前記優先度に対して前記資源を割り当てる頻度の高さを
    設定した加重度が記憶されたテーブルと、 前記加重度に基づいて設定された前記資源の割当待ち状
    態にあるタスクが属する優先度の待ちサイクル数が記憶
    されたテーブルと、 前記資源を割り当てる事象が発生する毎に各優先度の前
    記待ちサイクル数を演算更新し、当該処理後の待ちサイ
    クル数が所定の条件を満足した優先度のタスクに前記資
    源を割り当てるタスク管理部と、を備えたことを特徴と
    する計算機システム。
  8. 【請求項8】 複数のタスクそれぞれの優先度に応じて
    資源を割り当てるコンピュータ読み取り可能なプログラ
    ムコードが記録された記録媒体であって、 前記優先度に対して前記資源を割り当てる頻度の高さを
    設定した加重度に基づいて前記資源の割当待ち状態にあ
    るタスクが属する優先度の待ちサイクル数が記憶され、 前記プログラムは、 前記資源を割り当てる事象が発生する毎に各優先度の前
    記待ちサイクル数を演算処理し、当該処理後の待ちサイ
    クル数が所定の条件を満足した優先度のタスクに前記資
    源を割り当てる割当ステップを備えた方法を実行する、
    記録媒体。
JP32147599A 1999-11-11 1999-11-11 資源配分方法、計算機システム及び記録媒体 Pending JP2001142723A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32147599A JP2001142723A (ja) 1999-11-11 1999-11-11 資源配分方法、計算機システム及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32147599A JP2001142723A (ja) 1999-11-11 1999-11-11 資源配分方法、計算機システム及び記録媒体

Publications (1)

Publication Number Publication Date
JP2001142723A true JP2001142723A (ja) 2001-05-25

Family

ID=18132989

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32147599A Pending JP2001142723A (ja) 1999-11-11 1999-11-11 資源配分方法、計算機システム及び記録媒体

Country Status (1)

Country Link
JP (1) JP2001142723A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100657139B1 (ko) 2006-01-09 2006-12-13 주식회사 팬택앤큐리텔 이동 통신 단말기에서의 실시간 처리를 위한 스케쥴링 방법
CN1316838C (zh) * 2001-12-11 2007-05-16 日本电气株式会社 便携式数据处理终端
JP2008225641A (ja) * 2007-03-09 2008-09-25 Nec Corp コンピュータシステム、割り込み制御方法及びプログラム
CN109614222A (zh) * 2018-10-30 2019-04-12 成都飞机工业(集团)有限责任公司 一种多线程资源分配方法
US11954527B2 (en) 2020-12-09 2024-04-09 Industrial Technology Research Institute Machine learning system and resource allocation method thereof

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1316838C (zh) * 2001-12-11 2007-05-16 日本电气株式会社 便携式数据处理终端
KR100657139B1 (ko) 2006-01-09 2006-12-13 주식회사 팬택앤큐리텔 이동 통신 단말기에서의 실시간 처리를 위한 스케쥴링 방법
JP2008225641A (ja) * 2007-03-09 2008-09-25 Nec Corp コンピュータシステム、割り込み制御方法及びプログラム
CN109614222A (zh) * 2018-10-30 2019-04-12 成都飞机工业(集团)有限责任公司 一种多线程资源分配方法
CN109614222B (zh) * 2018-10-30 2022-04-08 成都飞机工业(集团)有限责任公司 一种多线程资源分配方法
US11954527B2 (en) 2020-12-09 2024-04-09 Industrial Technology Research Institute Machine learning system and resource allocation method thereof

Similar Documents

Publication Publication Date Title
RU2481618C2 (ru) Иерархическая инфраструктура планирования резервирования ресурсов
US9959141B2 (en) System and method of providing a self-optimizing reservation in space of compute resources
US6732138B1 (en) Method and system for accessing system resources of a data processing system utilizing a kernel-only thread within a user process
CA2456840C (en) Methods and systems for multi-policy resource scheduling
US6223201B1 (en) Data processing system and method of task management within a self-managing application
US5333319A (en) Virtual storage data processor with enhanced dispatching priority allocation of CPU resources
US5812844A (en) Method and system for scheduling the execution of threads using optional time-specific scheduling constraints
US6718360B1 (en) Providing predictable scheduling of programs using a repeating precomputed schedule
JPH07281908A (ja) 目標制御データを生成する作業負荷を管理する方法及び装置
JP2005534116A (ja) 複数の消費者をもつコンピュータシステムで資源を動的に割当てて管理する方法
JPH07141305A (ja) 並列計算機の実行制御方法
JP2009277041A (ja) 優先度制御プログラム、優先度制御装置、及び優先度制御方法
US7770177B2 (en) System for memory reclamation based on thread entry and release request times
CN114036078A (zh) 用于管理存储系统中的缓存设备的方法和系统
CN111625339A (zh) 集群资源调度方法、装置、介质和计算设备
US7526767B1 (en) Methods for automatic group switching according to a resource plan
JP3664021B2 (ja) サービスレベルによる資源割当方式
EP0913770A2 (en) Method and apparatus for sharing a time quantum
JP2001142723A (ja) 資源配分方法、計算機システム及び記録媒体
JPH05158744A (ja) 計算機システムにおける装置管理方式及びメモリ管理方式
JPH10198643A (ja) 分散計算機システム
JP3839259B2 (ja) マルチスレッド制御方法、マルチスレッド制御装置、記録媒体、及びプログラム
JP2003186686A (ja) リソース制御装置、方法及び記憶媒体
JP6524733B2 (ja) 並列演算装置、並列演算システム、およびジョブ制御プログラム
CN117149440B (zh) 一种任务调度方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060406

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070717

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071127