JPH04100156A - タスクプライオリティ管理装置 - Google Patents

タスクプライオリティ管理装置

Info

Publication number
JPH04100156A
JPH04100156A JP21767090A JP21767090A JPH04100156A JP H04100156 A JPH04100156 A JP H04100156A JP 21767090 A JP21767090 A JP 21767090A JP 21767090 A JP21767090 A JP 21767090A JP H04100156 A JPH04100156 A JP H04100156A
Authority
JP
Japan
Prior art keywords
priority
task
memory
resource
resources
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
JP21767090A
Other languages
English (en)
Inventor
Rika Okuda
奥田 利花
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP21767090A priority Critical patent/JPH04100156A/ja
Publication of JPH04100156A publication Critical patent/JPH04100156A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、タスクの動作をプライオリティで管理するオ
ペレーション・システム(以下、O8という。)に利用
する。特に、資源を獲得した際にタスクのプライオリテ
ィを変更させる手段に関する。
〔概要〕
本発明は、タスクの動作をプライオリティで管理する装
置おいて、 資源を獲得した際に所定の条件を満足するタスクのプラ
イオリティを変更させることにより、プライオリティの
高いタスクの優先実行を確実にすることができるように
したものである。
〔従来の技術〕
従来例では、タスクそれぞれにプライオリティと呼ばれ
る正の整数を付け、その値が小さいほど処理を優先させ
ていた。したがって、プライオリティの値が小さい(プ
ライオリティの高い)タスクとプライオリティの値が大
きい(プライオリティの低い)タスクが動作可能な状態
であった場合に、まずプライオリティの高いタスクの処
理が実行され、その処理が終るかまたは中断するとプラ
イオリティの低いタスクの処理が実行される。また、あ
る資源を複数のタスクが待っている場合には、プライオ
リティの高いものから優先的に資源を与える。ある資源
(プライオリティ1のメモリ)をタスクA(プライオリ
ティ100)が獲得した後にタスクB(プライオリティ
1)が要求して待ちになり、その後タスクAがメモリを
返却してタスクBが待ち解除になる際の処理を図面を参
照して説明する。
第12図は従来の資源獲得および解放の際の処理のフ0
−チャートである。第13図はブライオリテ≧100の
初期状態のタスクへの従来の管理テーブルで、15はタ
スクAのコード部を指すポインタ、16はプライオリテ
ィである。第14図は従来のメモリの管理テーブルの管
理状態で、45はメモリ管理テーブル、34はメモリ領
域を指すポインタ、35はメモリ、サイズ、36および
37はメモリを待っているタスクの管理テーブルをつな
げるためのキューまた、39は管理されているメモリで
ある。
タスクAがメモリ80バイトを要求した場合に、O8は
第12図のフローチャートステップSlでタスクAの要
求メモリが空いているかどうかをチエツクする。メモリ
が空いているのでステップS2でメモリ80バイトをタ
スク八に貸し出す。タスクAはメモリを獲得し、次の処
理へと進む。次にタスクBがメモリ50バイトを要求す
る。ステップS1でメモリが空いているかどうかチエツ
クし、空いていないので、ステップS6で待ちキューに
つながる。タスクBはタスクAがメモリを返却するまで
、キューにつながれたまま待つ。タスクAはメモリを使
って処理を行うが、プライオリティが低いため、プライ
オリティの高いタスクが他にあった場合には処理が後回
しになり、メモリの返却までに時間がかかる。また、タ
スクAが他の資源を要求して待ちになっても、待ちキュ
ーはプライオリティの高いものから順にリンクされるた
め、資源を獲得するまでに時間がかかる。タスクAがメ
モリをO8に返却すると、ステップS7で返却されたメ
モリが残りメモリにマージされ、ステップSllでメモ
リ待ちのタスクが返されたメモリを得ることにより起床
するかどうかを見る。タスクBが起床するので、(1)
のステップS2の処理に移りメモリをタスクBに貸し出
す。
〔発明が解決しようとする課題〕
このような従来例では、あるタスクが資源を獲得してそ
の資源の空きがなくなると、その資源が返却されるまで
は、その後でどんなに高いプライオリティのタスクがそ
の資源を要求しても待ちになる。また、プライオリティ
の低いタスクの処理はそれよりもプライオリティの高い
タスクが動作可能な場合には、後回しになる。よって、
資源を獲得したタスクのプライオリティが低い場合には
、その処理は遅くなり、資源の返却にも時間がかかる。
したがって、資源の待ちになっているタスクはそのプラ
イオリティに関係なく、資源を獲得しているタスクのプ
ライオリティよりも処理が遅くなる。これは、プライオ
リティの高いタスクの処理を優先的に実行するというプ
ライオリティ処゛理方式の基本方式に反することで、大
きな欠点である。
また、プライオリティの低いタスクが資源を獲得したま
ま実行待ちでいるということは、資源が獲得されたまま
使われずにいるということで、資源の有効活用ができな
い欠点になる。
本発明は、このような欠点を除去するもので、プライオ
リティの高いタスクの処理を優先的に実行させ、かつ資
源の有効活用が図れるプライオリティ管理装置を提供す
ることを目的とする。
〔課題を解決するだめの手段〕
本発明は、プライオリデイが一対一対応で付与されたタ
スクとこのタスクが付与されたプライオリティの値に応
じて獲得する資源とを管理する管理手段を備えたタスク
プライオリティ管理装置において、上記資源は、一対一
対応でプライオリティが付与され、上記資源に一対一に
対応するプライオリティを保存する第一テーブル手段と
、上記タスクに一対一に対応するプライオリティを保存
する第二テーブル手段と、タスクが獲得した資源に対応
し上記第一テーブル手段から抽出したプライオリティで
ある第一プライオリティとこのタスクに対応し上記第二
テーブル手段から抽出したプライオリティである第二プ
ライオリティとを比較する比較手段と、この比較手段が
、上記第一プライオリティが上記第二プライオリティよ
り大きいこと検知したときに、上記第二プライオリティ
を上記第一プライオリティに変更する変更手段とを備え
たことを特徴とする。
〔作用〕
プライオリティを優先順位の高いものから順につなげ、
その先頭の値がタスクのプライオリティになるプライオ
リティ・キューをタスクの管理テーブルに有し、資源に
プライオリティが付き、そのプライオリティを書く領域
を資源の管理テーブルに有し、資源をタスクが獲得した
場合に、その資源のプライオリティをそのタスクのプラ
イオリティ・キューに追加する。
〔実施例〕
以下、本発明の一実施例について図面を参照して説明す
る。第1図は、この実施例の構成を示すブロック図であ
る。第2図はタスクが資源を獲得する際のフローチャー
ト、第3図はタスクが資源を返却する際のフローチャー
ト、第41ffl(1)はタスクAの初期状態の管理テ
ーブノペ(2)はタスクBの初期状態の管理テーブル、
第5図はタスクBがメモリCを獲得した際の管理テーブ
ノベ第6図はタスクAがメモリCを獲得できずに待ちキ
ューにつながれている際の管理テーブル、第7図はメモ
リCの初期状態の管理テーブノベ第8図はタスクΔがメ
モリCを獲得できずに待ちキューにつながれている際の
メモIJ Cの管理テーブノベ第11図はこの実施例を
動かすハードウェア構成である。O8の管理下に、プラ
イオリティ1のタスク八とプライオリデイ100のタス
クB、その他に2〜100のプライオリデイのタスクが
複数、プライオリティ1のメモIJ Cがある。第4図
の14および23はそれぞれタスクAおよびタスクBの
管理テーブルで、15および24はタスクのコード部を
指しているポインタ、16および25はタスクの現在の
プライオリティを示している。17.18.26および
27は資源のプライオリティをつなげるキューで、17
および26がキューの先頭、18および27がキューの
末尾を指している。19および28はタスクAおよびB
のプライオリティ構造体、20および29はプライオリ
ティ構造体中のプライオリティ、21.22.30およ
び31はプライオリティ構造体のリンク・キューで21
および30は次のプライオリティ構造体の先頭を指し、
22および31は1つ前のプライオリティ構造体の先頭
を指す。
この実施例は、第1図に示すように、プライオリティが
一対一対応で付与されたタスクとこのタスクが付与され
たプライオリティの値に応じて獲得する資源とを管理す
る管理手段5を備え、さらに、本発明の特徴として、上
記資源は、一対一対応でプライオリティが付与され、上
記資源に一対一に対応するプライオリティを保存する第
一テーブル手段1と、上記タスクに一対一に対応するプ
ライオリティを保存する第二テーブル手段2と、タスク
が獲得した資源に対応し第一テーブル手段1から抽出し
たプライオリティである第一プライオリティとこのタス
クに対応し第二テーブル手段2から抽出したプライオリ
ティである第二プライオリティとを比較する比較手段3
と、この比較手段3が、上記第一プライオリティが上記
第二プライオリティより大きいこと検知したときに、上
記第二プライオリティを上記第一プライオリティに変更
する変更手段4とを備える。
次に、この実施例の動作を説明する。
タスクBがO8に対しメモリCから80バイトを要求す
る。O8は第2図のステップS1で要求されたサイズの
メモリが空いているかどうかをチエツクする。メモリが
空いているので、第2図のステップS2に処理が移り、
タスクに与えるメモリのアドレスが渡される。ステップ
S3で獲得したメモリのプライオリティ (第7図の3
8)が、タスクBのプライオリティ・キュー(第4図〔
2)の26および27)の先頭に加えられるかどうかを
チエツクする。現在キ二一につながれているプライオリ
ティはrloo Jのみで、1<100なので、メモリ
のプライオリティはキューの先頭につなげられる。
したがって、ステップS4でキューの先頭にプライオリ
ティ「1」が追加され、ステップS5でタスクBのプラ
イオリティr100 JがメモリCのプライオリティの
「1」に変更される(第5図)。
次に、タスクAがO8にメモリ50バイトを要求する。
第2図の1で、O8はメモリが空いているかどうかのチ
エツクを行い、メモリが空いていないのでステップS6
へ行き、メモリの獲得待ちキューにタスク八をつなげる
(第8図)。タスクBはプライオリティが「1」になっ
たため、その処理は他の複数のタスクよりも優先され、
他の資源を要求して待ちになったとしても、待ちキュー
の先頭につなげられる。したがって、その処理は早く、
メモリ80バイトの返却もすみやかに行える。O8は第
3図のステップS8でタスクBから返却されたメモリを
空き領域にマージし、ステップS9でメモリ資源のプラ
イオリティ「1」がプライオリティ・キューの先頭かど
うかをチエツクする。この例では資源(メモリ)のプラ
イオリティ「1」はプライオリティ・キューの先頭にあ
るので、ステップ510へ行き先頭のメモリのプライオ
リティr1..+をキューから削除する。ステップSl
lでタスクのプライオリティをキューの先頭(最初のプ
ライオリティ「100」)とする。ステップSL2でメ
モリ待ちのキューにつながっていたタスクが起床するか
どうかをチエツクする。タスク八が起床するので、第2
図のステップS2へ行き、メモリのアドレスを渡され、
現在のプライオリティとメモリのプライオリティが等し
いのでステップS8へ行き、キューの2番目にプライオ
リティ「1」を追加する。タスク八がメモリ50バイト
の返却を行う際は、第2図のステップS8で返却された
メモリを空き領域にマージし、ステップS9でメモリの
プライオリティがキューの先頭かどうかをチエツクする
。この場合に、1番目と2番目とのプライオリティが「
1」なので、ステップS13へ行き2番目のプライオリ
ティをキューからはずし、第3図で示す管理テーブルに
戻る。
第9図は、本発明の第二実施例のタスクの初期状態の管
理テーブルを示す。「41」はこのタスクが獲得してい
る資源の数、「42」は資源のプライオリティである。
タスクの管理テーブルには資源のプライオリティを書く
領域が、タスクが要求する資源の最大値分だけある。前
述の実施例と同様のフローチャート (第2図)で、タ
スクBがメモリCを獲得すると、資源のプライオリティ
「1」がタスクBの管理テーブルに書かれる。1<10
0なので、タスクBの初期状態のプライオリティ「10
0」は1つ後ろにずれて、メモリCのプライオリティ「
1」が先頭に入る。タスクのプライオリティは先頭の値
「1」に変更される。タスクBはプライオリティが「1
」になったために、その処理は他の複数のタスクよりも
優先され、他の資源を要求して待ちになったとしても、
待ちキューの先頭につなげられる。したがって、その処
理は早く、メモリ80バイトの返却もすみやかに行える
○Sは第2図のステップS8でタスクBから返却された
メモリを空き領域にマージし、ステップS9でメモリの
プライオリティ 「1」がプライオリティの先頭かどう
かをチエツクする。この例では、資、f!(メモリ)の
プライオリティ「1」はプライオリティの先頭なので、
ステップSIOへ行き先頭のメモリのプライオリティ「
1」を削除する。ステップ311でタスクのプライオリ
ティ先頭の値(最初のプライオリティ「100」)とす
る。ステップS12でメモリ待ちのキューにつながって
いたタスクが起床するかどうかをチエツクする。タスク
Aが起床するので、第2図のステップS2へ行キ、メモ
リのアドレスを渡され、現在のプライオリティとメモリ
のプライオリティとが等しいのでステップS8へ行き、
2番目にプライオリティ「1」を追加する。タスクAが
メモリ50バイトの返却を行う際は、第3図のステップ
S8で返却されたメモリを空き領域にマージし、ステッ
プS9でメモリのプライオリティが先頭かどうかをチエ
・ツクする。この場合に、1番目と2@目とのプライオ
リティが「1」なので、ステップS13へ行き2番目の
プライオリティを削除し、第9図で示す管理テーブルに
戻る。
〔発明の効果〕
本発明は、以上説明したように、タスクの管理テーブル
にプライオリティ・キューを追加し、資源にプライオリ
ティを付け、その資源の管理テーブルにプライオリティ
を書く領域を追加し、タスクが資源を獲得すると、タス
クのプライオリティ・キューに資源のプライオリティを
追加し、キューの先頭プライオリティをそのタスクのプ
ライオリティとする機能を追加することにより、資源を
獲得したタスクは処理が優先され、すみやかに処理を終
えて資源を返却できるので、タスクが資源待ちをする時
間が短くなり、資源の有効活用ができる効果がある。
【図面の簡単な説明】
第1図は、本発明実施例の構成を示すブロック構成図。 第2図は、本発明の資源獲得の際のフローチャート。 第3図は、資源を解放する際のフローチャート。 第4図は、第一実施例のタスク管理テーブルの初期状態
。 第5図は、第一実施例でタスクBが資源を獲得した際の
タスク管理テーブル。 第6図は、第一実施例でタスクAが資源を獲得した際の
タスク管理テーブル。 第7図は、第一実施例の資源の管理テーブルの初期状態
。 第8図は、第一実施例で資源に資源待ちのタスクがつな
がれた際の資源管理テーブル。 第9図は、第二実施例のタスク管理テーブルの初期状態
。 第10図は、第二実施例2てタスクBが資源を獲得した
際のタスク管理テーブル。 第11図は、本発明の動作環境。 第12図は、従来の資源獲得および解放のフローチャー
ト。 第13図は、従来のタスク管理テーブル。 第14図は、従来の資源管理テーブル。 1・・・第一テーブル手段、2・・・第二テーブル手段
、3・・・比較手段、4・・・変更手段、5・・・管理
手段。

Claims (1)

  1. 【特許請求の範囲】 1、プライオリティが一対一対応で付与されたタスクと
    このタスクが付与されたプライオリティの値に応じて獲
    得する資源とを管理する管理手段を備えたタスクプライ
    オリティ管理装置において、上記資源は、一対一対応で
    プライオリティが付与され、 上記資源に一対一に対応するプライオリティを保存する
    第一テーブル手段と、 上記タスクに一対一に対応するプライオリティを保存す
    る第二テーブル手段と、 タスクが獲得した資源に対応し上記第一テーブル手段か
    ら抽出したプライオリティである第一プライオリティと
    このタスクに対応し上記第二テーブル手段から抽出した
    プライオリティである第二プライオリティとを比較する
    比較手段と、 この比較手段が、上記第一プライオリティが上記第二プ
    ライオリティより大きいこと検知したときに、上記第二
    プライオリティを上記第一プライオリティに変更する変
    更手段と を備えたことを特徴とするタスクプライオリティ管理装
    置。
JP21767090A 1990-08-17 1990-08-17 タスクプライオリティ管理装置 Pending JPH04100156A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21767090A JPH04100156A (ja) 1990-08-17 1990-08-17 タスクプライオリティ管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21767090A JPH04100156A (ja) 1990-08-17 1990-08-17 タスクプライオリティ管理装置

Publications (1)

Publication Number Publication Date
JPH04100156A true JPH04100156A (ja) 1992-04-02

Family

ID=16707883

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21767090A Pending JPH04100156A (ja) 1990-08-17 1990-08-17 タスクプライオリティ管理装置

Country Status (1)

Country Link
JP (1) JPH04100156A (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59170950A (ja) * 1983-03-18 1984-09-27 Hitachi Ltd タスク優先制御方式
JPS6265137A (ja) * 1985-09-17 1987-03-24 Fujitsu Ltd ユ−ザ・タスクの優先度制御方式
JPH01240937A (ja) * 1988-03-22 1989-09-26 Nec Corp 実行優先度制御方式

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59170950A (ja) * 1983-03-18 1984-09-27 Hitachi Ltd タスク優先制御方式
JPS6265137A (ja) * 1985-09-17 1987-03-24 Fujitsu Ltd ユ−ザ・タスクの優先度制御方式
JPH01240937A (ja) * 1988-03-22 1989-09-26 Nec Corp 実行優先度制御方式

Similar Documents

Publication Publication Date Title
TW490638B (en) Computer for executing plural operating systems
US9798595B2 (en) Transparent user mode scheduling on traditional threading systems
WO2009147802A1 (ja) 優先度制御装置及び優先度制御方法
CN110851276A (zh) 一种业务请求处理方法、装置、服务器和存储介质
JP2821345B2 (ja) 非同期i/o制御方式
JPH04100156A (ja) タスクプライオリティ管理装置
JPH07141208A (ja) マルチタスク処理装置
JPH05108380A (ja) データ処理システム
JP2693916B2 (ja) タスクスケジュール方法
JPH04195432A (ja) タスク管理装置
JPH11175357A (ja) タスク管理方法
JPH0586574B2 (ja)
JP2926873B2 (ja) 計算機システム
JP2000194573A (ja) スレッド制御システムおよびスレッド制御方法
JPH07160645A (ja) マルチプロセッサシステムにおける共通資源排他制御方法
JPH0421893B2 (ja)
JPH0833831B2 (ja) 共有資源の占有競合管理方法
JP2828000B2 (ja) ジョブスケジューリングクラス管理システムおよび管理方法
JPS63104146A (ja) 資源管理システム
JPH05120042A (ja) コンピユータシステム
JP2000207229A (ja) 資源占有の管理方式
JPH05113891A (ja) 疑似セマフオア方式
JPH05233429A (ja) バッファ確保待ち制御装置
JPH04209031A (ja) コンピュータシステムの資源管理方法
JPH02292642A (ja) メモリ管理方式